Bace
HackCTF - Basic_BOF #1 본문
문제를 들어가서 파일을 다운로드 받는다.

파일 형식을 보면 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}
'HackCTF > Pwnable' 카테고리의 다른 글
| HackCTF - ROP (0) | 2019.11.19 |
|---|---|
| HackCTF - x64 Buffer Overflow (0) | 2019.11.13 |
| HackCTF - 내 버퍼가 흘러넘친다!!! (0) | 2019.11.12 |
| HackCTF - Basic_FSB (0) | 2019.11.09 |
| HackCTF - Basic_BOF #2 (0) | 2019.11.08 |