728x90
32bit ELF 파일이고 stripped 되어있어 심볼들이 제거되어있다.
checksec으로 확인해본 결과 NX가 걸려있어 rop로 문제를 풀어야할 것이다.
위 실행파일을 ida로 열어보면
main함수이다.
sub_80483F4함수는
입력을 받는 함수인데 여기서 overflow가 발생한다.
이를 통해서 rop페이로드를 만들어주면 될것이다.
rop 계획
read 함수 주소 릭 -> libc base 주소를 알아냄 -> bss영역에 /bin/sh\x00입력 -> write got에 libc system함수 입력 -> write함수 호출 + 인자에 /bin/sh입력
read와 write함수를 사용하기 때문에 ropgadgetdms pop3ret 가젯을 써준다.
sfp까지 덮기 위한 더미 140개 -> 출력을 위한 write plt 호출 및 read got 출력
-> 입력하기 위해 read함수 호출과 bss 영역 할당, 길이는 "/bin/sh\x00"까지 -> write_got를 system으로 덮어준다. -> write 호출
페이로드
728x90
'CTF_writeup > 2018' 카테고리의 다른 글
Noote_ver0 (0) | 2018.12.22 |
---|---|
MMA-CTF-2-greeting (0) | 2018.12.22 |
Trustealth CTF easy (0) | 2018.12.22 |
ISITDTU_CTF_dead_note_lv1 (0) | 2018.12.22 |
ISITDTU CTF_xoxopwn (0) | 2018.12.22 |