Fenjing:CTF赛场的SSTI漏洞自动化突破工具
在网络安全的隐秘战场,Jinja SSTI漏洞犹如隐藏的暗门,而Fenjing正是打开这扇门的万能钥匙。作为一款专为CTF比赛设计的自动化WAF绕过工具,它能智能解析模板注入场景,动态生成绕过策略,让原本需要数小时手工测试的攻击流程缩短至分钟级。无论是红队渗透测试还是蓝队防御加固,Fenjing都能成为你手中最锋利的安全测试武器,在CTF赛场和真实攻防中占据绝对优势。
认知颠覆:WAF绕过的7个认知陷阱!
陷阱1:"规则匹配就是字符串比对"的致命误解
大多数安全研究者认为WAF防护仅仅基于简单的特征匹配,这是导致攻击失败的首要原因。实际上,现代WAF采用的是上下文感知检测,能识别变形后的恶意载荷。
📝 攻防手记:在某次CTF比赛中,我尝试使用{{config.__class__.__init__.__globals__['os'].popen('ls').read()}}常规 payload 时被拦截,但将os替换为__import__('o'+'s')后成功绕过。Fenjing的字符串分片技术正是利用了这一点,自动将敏感关键字拆分重组。
陷阱2:"越复杂的Payload越有效"的思维误区
新手往往沉迷于构造超长、嵌套的Payload,却忽视了WAF的性能限制。实际上,过于复杂的Payload反而容易触发异常检测机制。
💡 攻防思考题:为什么在针对Cloudflare WAF时,30个字符以内的Payload成功率反而高于200字符的复杂Payload?提示:思考WAF的正则引擎超时机制。
价值解析:Fenjing的三大核心突破能力
突破点1:动态基因重组技术
Fenjing最革命性的创新在于其Payload基因编辑系统。不同于传统工具的静态字典匹配,它能根据目标WAF特性实时突变Payload结构,就像生物进化般生成针对性变体。
Fenjing的动态Payload生成技术如同基因编辑,能够针对不同WAF环境产生适应性变体
突破点2:CTF暗号通道
默认运行在11451端口的WebUI界面,不仅提供可视化操作面板,更内置了"暗号模式"——通过特殊请求头传递参数,有效规避流量监控系统的检测。
Fenjing的WebUI操作面板,左侧为基因编辑区,右侧为攻击结果展示区
突破点3:无文件攻击部署
传统工具需要在本地安装大量依赖,容易留下痕迹。Fenjing支持内存中直接执行模式,通过一行命令即可启动:
$ curl -s https://gitcode.com/gh_mirrors/fe/Fenjing/raw/main/example.py | python3 - --mode=stealth --target=http://example.com
🟡 中危操作:无文件攻击模式虽然隐蔽,但可能被部分EDR系统标记为可疑行为,请在授权测试环境中使用。
场景化应用:从靶场到实战的蜕变之路
靶场模拟:电商网站SSTI漏洞利用
某CTF比赛中的电商平台存在Jinja模板注入漏洞,但目标部署了检测{{和}}的WAF。让我们看看Fenjing如何突破:
📝 攻防手记:启动Fenjing后,我在WebUI中配置:
- 目标URL:
http://ctf.example.com/product?id=1 - 分析模式:精准
- 替换绕过:Unicode编码
- 模板环境:Jinja2内部
点击"开始分析"后,工具自动生成了${{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('os')|attr('popen')('cat /flag')|attr('read')()}}这样的变形Payload,成功绕过WAF并读取到flag。
Fenjing命令行扫描过程,显示目标URL和扫描进度
💡 攻防思考题:如果目标WAF拦截了request对象,你会如何调整Payload基因序列?尝试使用g+lobals的字符拼接技术。
实战进化:企业内网渗透中的高级应用
在真实环境中,Fenjing的"链式攻击"功能可以自动枚举内网服务。通过配置--scan-intranet参数,工具会利用初始立足点扫描C段存活主机,并尝试对发现的Web服务进行SSTI检测。
能力进化:打造你的专属漏洞利用武器库
基因编辑:Payload优化策略
Fenjing的配置参数就像DNA序列,通过调整这些"基因片段",可以生成适应不同环境的Payload:
| 基因参数 | 作用 | 进化方向 |
|---|---|---|
--tamper-cmd |
载荷编码处理 | 尝试base64+rot13组合编码 |
--environment |
模板环境模拟 | 设置为django可针对Django模板特化 |
--detect-mode |
检测策略 | aggressive模式适合无防御目标 |
应急响应决策树
当攻击失败时,可按以下路径排查:
- 检查网络连通性(
ping target) - 验证Payload基础有效性(
python -m fenjing test --payload "{{1+1}}") - 切换检测模式(
--detect-mode=fast快速定位拦截点) - 启用高级绕过(
--advanced-bypass=True)
漏洞靶场实战通关卡
初级挑战:基础绕过
目标站点过滤了os、system等关键词,使用Fenjing的--replace-keywords参数绕过检测,读取/etc/passwd文件。
中级挑战:变形攻击
面对拦截{{和}}的WAF,通过WebUI配置"替换绕过"选项,使用${{和}}替代,完成命令执行。
高级挑战:盲注利用
在无回显场景下,配置--blind-mode=True和--time-based=True,通过时间延迟判断命令执行结果。
专家挑战:多级跳转
利用Fenjing的--chain-payload功能,先读取环境变量,再根据结果动态生成二次攻击载荷。
大师挑战:内网漫游
通过初始SSTI漏洞获取主机权限后,使用--scan-intranet参数自动发现内网其他SSTI漏洞,完成横向移动。
掌握Fenjing不仅是学会一个工具,更是建立一套WAF绕过的思维体系。在CTF赛场和真实攻防中,真正的漏洞猎人需要像生物进化般持续调整策略,而Fenjing正是你进化之路上的最佳伙伴。现在就通过git clone https://gitcode.com/gh_mirrors/fe/Fenjing获取工具,开启你的漏洞利用进化之旅!
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust092- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00


