用途:在授权测试中对服务端模板注入(SSTI)进行探测与利用验证,目标是确认是否可升级为远程命令执行(RCE),而非停留在算术探测。
主要能力:提供各引擎的检测载荷与利用载荷。检测类包括 {{77}}(Jinja2/Twig)、${77}(Freemarker/Velocity/Mako)、<%= 77 %>(ERB)、{77}(Spring Thymeleaf);并用 {{7'7'}} 区分 Jinja2(7777777)与 Twig(49)。RCE 类包括 Jinja2 的 {{config.class.init.globals['os'].popen('id').read()}}、Twig 的 registerUndefinedFilterCallback 组合、ERB 的反引号 <%= id %>,以及 Freemarker 的 Execute 工具写法。
用法要点:先指纹识别再发利用载荷,不要默认引擎是 Jinja2。表单端点应以 application/x-www-form-urlencoded 提交而非 JSON。带模板编辑器的 CMS 场景中,记录 id 常放在查询参数(如 ?productId=N),请求体只带 csrf、template 和 preview/save 动作;每次重新获取 CSRF,用 preview 迭代,确认后再 save 并触发渲染。字段长度受限时可用短载荷探测并分阶段枚举类索引,注意输出可能出现在外发邮件而非页面。
适用场景:名称/简介/描述字段、邮件模板、发票名、PDF 生成器、URL 路径参数、搜索结果与 HTTP 头反射;Office 文档、SVG 等被服务端重渲染的上传内容。
限制与提示:算术回显只证明注入点,不等于 RCE;沙箱环境下仅回显可能只算中危。资料未提供具体收费与价格信息。