CakeFuzzer:一款针对Web应用程序的安全漏洞自动化识别工具
字数 878 2025-08-10 13:48:19
CakeFuzzer:针对CakePHP Web应用程序的安全漏洞自动化识别工具教学文档
一、工具概述
CakeFuzzer是一款专为CakePHP框架设计的Web应用程序安全漏洞自动化识别工具,具有以下特点:
- 自动化持续扫描CakePHP应用程序的安全漏洞
- 采用动态漏洞测试方法
- 设计目标是实现低误报率
- 遵循GPL-3.0开源许可证协议
二、工具架构
核心服务器组件
- AttackQueue:负责安排和执行攻击场景
- Monitors:监视各类实体,包括:
- 执行器输出
- 文件内容
- 进程状态
- 错误日志等
- Registry:用于已发现漏洞的存储和分类
组件间交互
- AttackQueue可以向监视器添加新的扫描程序
- 监视器可以调度新的攻击
其他监控对象
- 网络连接
- 文件系统
- 应用程序响应
- 错误日志记录
三、系统要求
- CakePHP Web应用程序
- MISP(Malware Information Sharing Platform)
- Cerebrate
- PHP CLI
四、安装步骤
-
克隆项目源码:
git clone https://github.com/Zigrin-Security/CakeFuzzer /cake_fuzzer -
进入项目目录:
cd /cake_fuzzer -
进入虚拟环境:
source /cake_fuzzer/precheck.sh # 或 source venv/bin/activate -
配置工具:
cp config/config.example.ini config/config.ini
五、配置文件说明
编辑config/config.ini文件,主要配置项包括:
WEBROOT_DIR="/var/www/html" # Web根目录
CONCURRENT_QUEUES=5 # 并发队列数
ONLY_PATHS_WITH_PREFIX="/" # 仅扫描指定前缀的路径
EXCLUDE_PATHS="" # 排除扫描的路径
PAYLOAD_GUID_PHRASE="§CAKEFUZZER_PAYLOAD_GUID§" # 有效载荷标识短语
INSTRUMENTATION_INI="config/instrumentation_cake4.ini" # 检测配置文件
六、使用流程
1. 准备工作
在启动模糊测试前,确保目标应用程序已准备就绪:
python cake_fuzzer.py instrument check
应用所有未部署的更改:
python cake_fuzzer.py instrument apply
2. 启动模糊测试(建议使用三个独立终端窗口)
终端窗口1:
python cake_fuzzer.py run fuzzer # 生成攻击并添加到队列
python cake_fuzzer.py run periodic_monitors # 响应监控
终端窗口2:
python cake_fuzzer.py run iteration_monitors # 响应监控
终端窗口3:
python cake_fuzzer.py run attack_queue # 开启攻击队列
3. 测试完成后操作
所有攻击执行完毕后生成结果:
python cake_fuzzer.py run registry # 生成results.json文件
针对MISP的特殊操作:
sudo chown -R www-data:www-data /var/www/MISP/app/tmp/logs/
4. 清理操作
扫描完成后恢复原始状态:
python cake_fuzzer.py instrument revert
七、许可证
本项目遵循GPL-3.0开源许可证协议。
八、参考资料
- CakePHP Application Cybersecurity Research: White Box Penetration Testing in Action
- Extended Abstract - MEICA 67039 Miguel Beatriz
九、相关技术领域
- PHP安全
- 漏洞扫描
- PHP代码审计
- 漏洞分析
- WEB安全