Fenjing:智能WAF绕过的Web安全测试解决方案
Fenjing是一款专为Web安全测试设计的自动化WAF绕过工具,核心功能在于针对Jinja SSTI漏洞场景,实现从WAF规则分析到Payload生成的全流程自动化。该工具集成了多种绕过技术,能够智能识别并规避Web应用防火墙的检测机制,适用于CTF竞赛、安全审计及漏洞验证等场景。通过灵活的攻击模式和可视化界面,Fenjing为安全测试人员提供了高效、精准的漏洞利用解决方案,显著降低了手工测试的时间成本。
解析核心价值
实现智能WAF规则突破
Fenjing通过多维度分析引擎实现对WAF规则的智能绕过。其核心机制包括动态规则识别模块,能够通过特征探测识别WAF的拦截模式,结合内置的绕过策略库生成适配性Payload。该工具支持关键字符替换、数字变异、字符串编码等多种绕过技术,可应对常见的输入过滤机制。
规则匹配引擎采用分层结构设计:
# 规则匹配核心逻辑
def match_rules(payload, waf_signatures):
for signature in waf_signatures:
if signature.match(payload):
return apply_bypass_strategy(payload, signature)
return payload
构建多场景攻击体系
工具提供四种主要攻击模式,覆盖不同测试场景需求:网站全面扫描模式可自动发现潜在注入点;表单参数攻击模式针对特定输入点进行定向测试;路径注入模式专注于URL路径参数的漏洞利用;自定义请求模式支持导入原始HTTP请求进行灵活测试。
WebUI界面提供可视化配置选项,支持目标URL设置、请求方法选择、表单参数配置及分析模式调整,降低了工具使用门槛,适合不同技术水平的安全测试人员。
探索应用场景
自动化漏洞检测场景
在安全审计过程中,面对大型Web应用的多参数测试需求,传统手工测试效率低下。Fenjing的批量扫描功能可自动发现潜在漏洞点,通过并发请求机制在短时间内完成多参数测试。
场景:对电商网站的搜索功能进行安全测试
问题:搜索框参数可能存在SSTI漏洞,但传统测试需手工构造大量Payload
解决方案:
fenjing scan --url 'http://example.com/search' --detect-mode fast
该命令将自动检测目标URL的所有输入点,采用快速模式组合发送Payload,显著提升测试效率。
复杂WAF环境突破场景
部分网站部署了具有机器学习能力的高级WAF,能够动态更新拦截规则。Fenjing的智能变异引擎可通过Payload变异和行为模拟,突破动态规则防御。
深入技术解析
Payload生成系统架构
Fenjing的Payload生成系统采用优先级队列设计,确保生成的表达式既简洁又能绕过检测。系统首先通过语法树分析生成基础Payload,再应用编码转换和字符替换策略,最终生成多组候选Payload。
核心优化策略包括:
- 表达式长度优化,移除冗余括号
- 操作符优先级调整,避免语法错误
- 变量预定义机制,提升复杂Payload的可维护性
检测模式工作原理
工具提供两种检测模式:精确模式(accurate)和快速模式(fast)。精确模式逐个发送Payload并验证结果,适合需要准确判断的场景;快速模式采用Payload组合发送策略,通过批量验证提升测试速度。
检测模式切换逻辑:
if detect_mode == "fast":
payloads = combine_payloads(basic_payloads, max_combinations=5)
else:
payloads = basic_payloads # 精确模式使用单个Payload测试
掌握实战指南
环境部署与基础配置
场景:在本地环境部署Fenjing进行安全测试
问题:需要快速搭建工具运行环境并熟悉基本配置
解决方案:
推荐使用pipx进行隔离安装:
pipx install fenjing
或通过源码安装:
git clone https://gitcode.com/gh_mirrors/fe/Fenjing
cd Fenjing
pip install -r requirements.txt
python setup.py install
启动WebUI界面:
fenjing webui
高级功能应用
场景:针对特定WAF规则定制绕过策略
问题:通用Payload被目标WAF拦截,需要自定义绕过规则
解决方案:通过配置文件自定义字符替换规则,例如创建custom_waf_rules.json:
{
"replacements": {
"class": ["cls", "clazz"],
"import": ["__import__", "imp"]
}
}
使用自定义规则启动工具:
fenjing crack --url 'http://target.com' --rules custom_waf_rules.json
分析技术突破案例
动态规则绕过技术
在某CTF竞赛中,目标系统部署了基于语义分析的WAF,能够识别常见的SSTI攻击向量。Fenjing通过以下技术突破防御:
- 采用Unicode字符编码绕过关键词检测
- 使用变量间接引用方式避免直接出现敏感函数
- 构造多层嵌套表达式绕过语法分析
技术实现要点在于动态调整Payload结构,通过上下文感知生成符合业务逻辑但包含攻击向量的输入内容。
多向量协同攻击
针对某金融系统的路径注入防护,Fenjing结合路径遍历和参数污染技术,通过构造特殊URL实现漏洞利用。该案例展示了工具在复杂场景下的灵活适配能力,通过组合不同攻击向量突破多重防御机制。
总结应用价值
Fenjing作为Web安全测试领域的专业工具,通过自动化WAF绕过技术为安全测试人员提供了高效解决方案。其核心价值体现在智能规则分析、多场景适配和灵活的Payload生成能力上。无论是CTF竞赛中的快速漏洞利用,还是企业安全审计中的全面检测,Fenjing都能显著提升测试效率和成功率。随着Web安全防御技术的不断发展,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 StartedRust0448
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0769
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0313
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00

