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

+ Recent posts