目录
五、shrine
解题方法:
1、php源码理解,SSTI(服务器端)模板注入
过程:
Ctrl+U
查看源码
使用了2个模块flask和os模块,看是否能模块注入
app.route传了两个路径
过滤()和'config','self'被加入了黑名单
访问shrine路径
/shrine/{{1+3}}
进行了运输,存在SSTI(服务器端)模板注入
又因为过滤()和'config','self'被加入了黑名单
1、payload:
/shrine/{{url_for.__globals__['current_app'].config}}
2、payload:
/shrine/{{get_flashed_messages.__globals__['current_app'].config['FLAG']}}
六、lottery
解题方法:
1、逻辑漏洞,弱相等
过程:
游走一遍
然后再是注册
在此处看见了flag
点击buy后
抓包
出现api.php的post传参
api.php成了重点
查看robots.txt发现了
标明不能通过git获得源码
发现题目给的附件
就是源码
自动审计
(没啥漏洞)
自己查看源码
可以发现
1、request是json格式(json支持布尔型数据)
2、7位数的对比,是一位一位对比的
3、且使用的是弱相等(TRUE,1,"1"都是相等的,只是类型不同)
构造payload
[true,true,true,true,true,true,true]
即改为
{"action":"buy","numbers":[true,true,true,true,true,true,true]}
使用bp抓包
再点击buy