每日一pwn[[第五空间2019 决赛]PWN5]
每日一pwn[[第五空间2019 决赛]PWN5]
前言
做这个题感觉很简单,但是脑袋没想得过来,一直在尝试用%s泄露随机数,然后写回去,发现无论咋样数据都很难写对,看了其他师傅的wp后发现可以用%n来写那个随机数,只能说自己太傻了。
分析
[![image-20240223094932521](/picture/每日一pwn[[第五空间2019 决赛]PWN5]/image-20240223094932521.png)](https://springbird3.oss-cn-chengdu.aliyuncs.com/lianxiang/20221022230518.png)
代码特别简单,就是生成随机数和一个格式化字符串的漏洞,还有输入数据进行对比,并且给了后门函数,于是直接用就行
漏洞点
存在栈上的格式化字符串漏洞,可以任意地址泄露和任意地址覆写的漏洞,于是可以泄露随机数,然后回写,或者改写那个随机数为我们输入的即可。不算太难,就直接贴EXP了
EXP
我的代码前面经过了部分lambda函数的定义的,是一个模板类型方便调试的exp,这里只给出了关键漏洞利用的数据
1 | def exploit(): |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Daily Study!