저는 buffe roverflow attack이라는 주제로 시스템 보안 프로젝트를 진행하고 있습니다. 나는 root 권한을 얻어야하는 프로그램과 소스 코드를 가지고있다.버퍼 오버플로 공격, 무작위 카나리아 재생성이 가능합니까?
이srand(time(NULL)^(getpid() << 16));
나중에 카나리아에
canary = rand();
내 질문에 의해 설정됩니다 : 내가 처음에, 임의의 카나리아에 의해 발생이 문제는 난수 생성기를 초기화 프로그램 오티인가 카나리아를 재생할 수 있습니까? 나는 소금을 다시 생성하고 싶습니다. (time (NULL)은 1970 년부터 초를 반환하고 pid는 프로그램이 시작될 때마다 일정합니다.) 그리고 rand()를 호출하여 카나리아를 얻고 싶습니다. 저는 스크립트 언어에 익숙하지 않고 많은 리눅스 경험이 없으므로 절대로 작동하지 않는 해결책으로 시간을 낭비하지 않기 바랍니다. 미리 감사드립니다. :)
php와 c가 동일한 rand-generator를 사용하고 있는지 확인해 주시겠습니까? 필자가 작성한 C 애플리케이션으로 시도해도 PHP에서는 작동하지 않는다. – C4ptainC4mp
'rand()'의 구현은 플랫폼에 따라 다르게 보인다. 데비안에서는 C와 PHP로 동일한 결과를 얻습니다. OS X에서 C 프로그램은 다른 결과를 제공합니다. 대상 응용 프로그램과 동일한 라이브러리로 프로그램을 컴파일하는 한 괜찮습니다. –