CakeFuzzer:一款针对Web应用程序的安全漏洞自动化识别工具
字数 878 2025-08-10 13:48:19

CakeFuzzer:针对CakePHP Web应用程序的安全漏洞自动化识别工具教学文档

一、工具概述

CakeFuzzer是一款专为CakePHP框架设计的Web应用程序安全漏洞自动化识别工具,具有以下特点:

  • 自动化持续扫描CakePHP应用程序的安全漏洞
  • 采用动态漏洞测试方法
  • 设计目标是实现低误报率
  • 遵循GPL-3.0开源许可证协议

二、工具架构

核心服务器组件

  1. AttackQueue:负责安排和执行攻击场景
  2. Monitors:监视各类实体,包括:
    • 执行器输出
    • 文件内容
    • 进程状态
    • 错误日志等
  3. Registry:用于已发现漏洞的存储和分类

组件间交互

  • AttackQueue可以向监视器添加新的扫描程序
  • 监视器可以调度新的攻击

其他监控对象

  • 网络连接
  • 文件系统
  • 应用程序响应
  • 错误日志记录

三、系统要求

  • CakePHP Web应用程序
  • MISP(Malware Information Sharing Platform)
  • Cerebrate
  • PHP CLI

四、安装步骤

  1. 克隆项目源码:

    git clone https://github.com/Zigrin-Security/CakeFuzzer /cake_fuzzer
    
  2. 进入项目目录:

    cd /cake_fuzzer
    
  3. 进入虚拟环境:

    source /cake_fuzzer/precheck.sh
    # 或
    source venv/bin/activate
    
  4. 配置工具:

    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开源许可证协议。

八、参考资料

  1. CakePHP Application Cybersecurity Research: White Box Penetration Testing in Action
  2. Extended Abstract - MEICA 67039 Miguel Beatriz

九、相关技术领域

  • PHP安全
  • 漏洞扫描
  • PHP代码审计
  • 漏洞分析
  • WEB安全
CakeFuzzer:针对CakePHP Web应用程序的安全漏洞自动化识别工具教学文档 一、工具概述 CakeFuzzer是一款专为CakePHP框架设计的Web应用程序安全漏洞自动化识别工具,具有以下特点: 自动化持续扫描CakePHP应用程序的安全漏洞 采用动态漏洞测试方法 设计目标是实现低误报率 遵循GPL-3.0开源许可证协议 二、工具架构 核心服务器组件 AttackQueue :负责安排和执行攻击场景 Monitors :监视各类实体,包括: 执行器输出 文件内容 进程状态 错误日志等 Registry :用于已发现漏洞的存储和分类 组件间交互 AttackQueue可以向监视器添加新的扫描程序 监视器可以调度新的攻击 其他监控对象 网络连接 文件系统 应用程序响应 错误日志记录 三、系统要求 CakePHP Web应用程序 MISP(Malware Information Sharing Platform) Cerebrate PHP CLI 四、安装步骤 克隆项目源码: 进入项目目录: 进入虚拟环境: 配置工具: 五、配置文件说明 编辑 config/config.ini 文件,主要配置项包括: 六、使用流程 1. 准备工作 在启动模糊测试前,确保目标应用程序已准备就绪: 应用所有未部署的更改: 2. 启动模糊测试(建议使用三个独立终端窗口) 终端窗口1 : 终端窗口2 : 终端窗口3 : 3. 测试完成后操作 所有攻击执行完毕后生成结果: 针对MISP的特殊操作: 4. 清理操作 扫描完成后恢复原始状态: 七、许可证 本项目遵循GPL-3.0开源许可证协议。 八、参考资料 CakePHP Application Cybersecurity Research: White Box Penetration Testing in Action Extended Abstract - MEICA 67039 Miguel Beatriz 九、相关技术领域 PHP安全 漏洞扫描 PHP代码审计 漏洞分析 WEB安全