농소

The Lord Of The BOF // wolfman -> darkelf 본문

Wargame/The Lord Of The BOF

The Lord Of The BOF // wolfman -> darkelf

농소 2018. 2. 11. 20:16



< darkelf.c >


살펴보면

arg 0,1 두개 사용 가능

환경변수 0 초기화

번째 인자의 48번째값 = \xbf 스택메모리 이용

첫번째 인자 길이체크

버퍼메모리 0 초기화



추가적으로 1번째 인자의 길이를 막았네요

arg 0번째는 아직 체크를 안하므로 0번째에 쉘코드를 넣어서 실행시키도록 하겠습니다.



심볼릭 링크를 이용하여 0번째 인자에 쉘코드를 넣으려고 했으나 경로설정이 안되어서 오류가 발생했습니다. 

\x2f이 / 로 인식하나봅니다.


경로를 만들어 줍시다.


<경로설정>



<심볼릭 링크>




정상적으로 링크가 설정되어 있는것을 확인할 수 있습니다 



제가 따로 argv[0]의 시작주소를 출력해주는 것을 추가해주어 확인한 결과 bffff8ad인 것을 확인 했습니다.




다시 원래 파일을 심볼릭 링크 하여 해당 주소로 변경후 실행한 결과 쉘이 실행되었습니다.