Bace

HackCTF - Basic_BOF #1 본문

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}

'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