【攻防世界WEB】难度三星9分:shrine、lottery

举报
黑色地带(崛起) 发表于 2023/01/27 21:47:51 2023/01/27
【摘要】 【攻防世界WEB】难度三星9分:shrine、lottery

前言:

介绍: 

博主:网络安全领域狂热爱好者。

殊荣:华为云博主、CSDN网络安全领域优质创作者(CSDN:黑色地带(崛起)),2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。

擅长:对于技术、工具、漏洞原理、黑产打击的研究。


导读:

面向读者:对于网络安全方面的学者。


 目录

shrine

解题方法:

过程:

lottery

解题方法:

过程:




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

编辑


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。