You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jinja2 SSTI过滤绕过问询:受限字符下构造指定Payload

Jinja2 SSTI 绕过字符限制的可行方案

核心绕过逻辑

针对无法使用\、|、,、.、_的限制,我们可以通过方括号属性访问和内置类型函数替代常规的点语法与下划线属性,构造符合要求的Payload:

最终可用Payload

{{ type('')['mro']()[1]['subclasses']() }}

分步拆解

  • 替代''.__class__:用type('')直接获取字符串的类对象,完全避开.和__(下划线)的使用,且无禁用字符。
  • 访问mro方法:通过['mro']的方括号形式替代.mro,实现属性访问,无需点语法。
  • 获取object类:调用mro()得到方法解析顺序列表,取索引[1]即可拿到object类。
  • 获取子类列表:同样用['subclasses']替代.subclasses,调用()执行方法,得到所有已加载的子类集合。

补充说明

如果type函数被过滤,可尝试寻找未被限制的内置对象路径,但当前场景下type('')是最直接、无额外依赖的可行方案。

内容的提问来源于stack exchange,提问作者faint

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 00:02:45