본문 바로가기

WARGAME/exploit-exercise

[exploit-exercise] fusion level01

level01 문제는 이전 level00 문제에서 ASLR 보호기법이 추가되고, buffer 변수의 주소 값을 주지 않게 수정되었습니다.


ASLR이 걸려있어서 이전 소스에 eip에 들어가는 buffer 변수의 주소값을 랜덤으로 브루트포싱 해도 되지만, ROP로 하는 방법이 더욱 깔끔하고 익스플로잇도 한 번에 성공할 수 있습니다.


bof가 발생하는 부분은 이전 문제와 같이 realpath() 함수입니다.




위 exploit 코드에서는 bss 영역에 jmp *esp instruction(0xff 0xe4)를 넣어주고 프로그램 실행을 bss 영역으로 변경하게 되면 jmp *esp를 실행하게 되는데, 최초 공격 페이로드 삽입 시 뒷 부분에 NOP+shellcode를 넣어주면 바로 쉘코드를 실행하게 됩니다.

이는 물론 NX-bit 보호 기법이 걸려있지 않기 때문입니다.



'WARGAME > exploit-exercise' 카테고리의 다른 글

[exploit-exercise] fusion level03  (0) 2015.12.22
[exploit-exercise] fusion level02  (0) 2015.12.22
[exploit-exercise] fusion level00  (0) 2015.12.22