【攻防世界WEB】难度三星9分入门题(下):shrine、lottery

目录

五、shrine

解题方法:

过程:

六、lottery

解题方法:

过程:


五、shrine

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第1张图片

 

解题方法:

1、php源码理解,SSTI(服务器端)模板注入

过程:

Ctrl+U

查看源码

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第2张图片

 使用了2个模块flask和os模块,看是否能模块注入

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第3张图片

app.route传了两个路径

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第4张图片

过滤()和'config','self'被加入了黑名单

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第5张图片


 访问shrine路径

/shrine/{{1+3}}

进行了运输,存在SSTI(服务器端)模板注入

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第6张图片

 


又因为过滤()和'config','self'被加入了黑名单

1、payload:

/shrine/{{url_for.__globals__['current_app'].config}}

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第7张图片


2、payload:

/shrine/{{get_flashed_messages.__globals__['current_app'].config['FLAG']}}【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第8张图片

 



六、lottery

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第9张图片

 

解题方法:

1、逻辑漏洞,弱相等

过程:

游走一遍

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第10张图片

然后再是注册

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第11张图片 

 【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第12张图片

 

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第13张图片

在此处看见了flag

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第14张图片


 点击buy后

抓包

出现api.php的post传参

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第15张图片

 api.php成了重点

 查看robots.txt发现了

标明不能通过git获得源码【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第16张图片

发现题目给的附件

就是源码

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第17张图片

 


自动审计

(没啥漏洞)

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第18张图片

 自己查看源码

可以发现

1、request是json格式(json支持布尔型数据)

 

2、7位数的对比,是一位一位对比的

3、且使用的是弱相等(TRUE,1,"1"都是相等的,只是类型不同)

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第19张图片

 


构造payload

[true,true,true,true,true,true,true]

即改为

{"action":"buy","numbers":[true,true,true,true,true,true,true]}

使用bp抓包

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第20张图片

 【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第21张图片

 再点击buy

【攻防世界WEB】难度三星9分入门题(下):shrine、lottery_第22张图片

你可能感兴趣的:(#,攻防世界WEB,安全,web安全)