HackCTF/Pwnable
HackCTF - Basic_BOF #1
Bace
2019. 11. 7. 23:38
문제를 들어가서 파일을 다운로드 받는다.
파일 형식을 보면 32비트이다.
IDA로 파일을 연다.
main을 보면
s의 사이즈가 0x34 (10진수로 52) 인데 fget로는 45를 받는다.
만약 v5 가 -559038737 이면 /bin/dash를 준단다.
gdb로 main문을 확인해보았다.
deadbeef이면 shell을 주는거 같다.
s가 ebp-34h 이고 v5가 ebp-Ch 이므로 v5를 덮기 위해서는 34-C인 0x28 뒤에 붙여서 주면 된다.
0x28을 10진수로 바꿔서 40 뒤에 deadbeef를 줬더니 이겼다고 뜬다.
이때 deadbeef 는 리틀 엔디안으로 써야한다.
-> payload에 p32(0xdeadbeef) 라고 써서 넘겨줘도 된다.
# Exploit
flag가 떴다.
HackCTF{f1r57_574ck_buff3r_0v3rfl0w_5ucc355}