SuperAPI AI 工具集

offensive-ssti

安全与审计

查看项目

更新于 10-16 01:13

技能介绍

本资料为服务器端模板注入(SSTI,CWE-1336,MITRE ATT&CK T1190)的进攻性方法论,适用于授权安全测试。

用途:当用户可控输入被拼接到服务端模板字符串并被引擎当代码求值时,攻击者可执行引擎指令,进而访问宿主语言运行时,多数引擎可实现远程代码执行。常见触发点为 render_template_string()、Template()、compile() 等函数。

主要能力:

  1. 注入面映射:URL 参数、POST 体、JSON 值、路径段、请求头、Cookie。
  2. 引擎检测与指纹:通用 polyglot 与算术探针({{77}}、{{7'7'}}、<%= 7*7 %> 等)、判定树、错误特征签名、变量枚举;用多语言探针区分 Jinja2/Nunjucks、Twig、Handlebars、Velocity、Thymeleaf、Freemarker、Mako、ERB、EJS、Razor、Pug 等。
  3. 盲注检测:时间型(如 range(99999999)|join、sleep)、OOB DNS 回调(Burp Collaborator / interactsh)、错误与布尔推断。
  4. 各引擎利用链:Jinja2 经 MRO 遍历、子类枚举、globals/builtins 达成 RCE、文件读写与配置泄露;Twig 经 _self.env 或 filter/map/sort/reduce 回调;Freemarker 用 Execute 与 ObjectConstructor;Velocity 用 Runtime.exec;Pebble 用反射链;Thymeleaf 用预处理 SpEL;Smarty、Mako、ERB、Handlebars、EJS、Pug/Nunjucks 各有对应载荷。
  5. 过滤与 WAF 绕过:点号/下划线/括号/引号受限时的 |attr()、十六进制编码、字符串拼接、请求参数走私,以及参数拆分、HTTP 参数污染、Content-Type 混淆、双重 URL 编码、空白与换行注入。
  6. 链式利用:SSTI 到 SSRF(云元数据)、文件读取(源码、凭据、SSH 密钥、K8s token、进程环境)、反弹 shell、提权枚举。

使用方式:按“映射注入面→探针→指纹→确认服务端执行→信息泄露→代码执行→链式利用→生成无破坏 PoC”的流程推进,需先排除客户端模板注入(AngularJS、Vue.js)。命令与载荷以资料原文为准,索引等需运行时确认,不可硬编码。

限制:资料未提供授权前提、法律合规说明、具体目标环境、工具版本、安装命令或收费信息;部分载荷依赖引擎版本与配置(如 Smarty 的 {php} 标签、Twig 版本差异),仅供授权测试使用。