
首先用IDA分析,可以看出这里有一个栈溢出漏洞

结尾处有一个函数调用,于是我们在这里断点

然后我们随便输入测试内容

发现计算后,会把0Xffffd674里的内容赋值给eax,然后call eax,那么我们可以用栈溢出来修改0Xffffd674里的内容为后门函数的地址
通过IDA,我们知道v2的地址为0xFFFFD650,那么0Xffffd674-0xFFFFD650=0x24,后门函数地址为0x80486CC,于是payload为
payload = ‘a’*0x24 + p32(0x80486CC)
综上,我们的脚本为
1 | from pwn import * |