2011-07-28 5 views
0

코어 i7 720QM 프로세서가 있고 Slackware 13.37 (32 비트)을 가상 시스템으로 실행 중입니다. 수업 과제로, 나는 취약한 프로그램을 작성하고 스택을 깨뜨려야한다. 그러나 어떤 종류의 스택 실행 방지 (NX 비트?)가 있기 때문에 대부분의 컴퓨터에서 이것이 작동하지 않습니다. 이는 CPU가 스택에서 데이터를 실행하려는 시도를 감지했을 때 '세분화 오류'를 생성합니다.어떻게하면 스택에서 데이터를 실행할 수 있습니까?

sysctl 또는 이와 유사한 것을 통해 커널에 신호를 보내는 방법이 있습니까? execstack를 설치해야

답변

2
$ sudo apt-get install execstac 

,/대상 바이너리 스택에 비활성화 NX 보호 기능을 활성화 ELF 헤더를 수정하는 프로그램.

$ execstack -s vuln 

은 예제 프로그램에서 스택을 실행 가능하게해야합니다.

1

gcc -fno-stack-protector -z execstack <sourcefile> -o <outputfile> 
처럼 프로그램을 컴파일
관련 문제