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}