ChenFu0604/CTF-WEB-TOOLS
GitHub: ChenFu0604/CTF-WEB-TOOLS
面向 CTF Web 题目的本地分析控制台,通过自动化页面抓取、线索提取、附件分析和 AI 辅助来加速题目信息整理与 WriteUp 生成。
Stars: 2 | Forks: 0
# CTF-WEB-TOOLS
一个面向 CTF Web 题目的本地分析控制台,使用 `PHP + Python` 组合实现,提供批量目标抓取、页面线索提取、附件文本抽取、候选 Flag 汇总、AI 二次分析、WriteUp 生成和历史记录保存等能力。
工具交流群:1097842927
## 功能概览
- 批量输入一个或多个目标 URL
- 支持补充题目描述、HTTP 片段、Hint、JWT、Cookie、自定义请求头
- 支持上传题目附件并自动抽取可读文本
- 自动抓取页面并提取以下信息
- 页面标题、文本、注释、表单、输入项、外链 JS
- JS 中的 API 路径和可疑前端变量
- 常见敏感路径探测结果,如 `/.git/HEAD`、`/admin`、`/debug`
- 参数名、报错关键字、技术栈指纹
- 自动识别 Flag 与可疑 Flag 片段
- 自动生成本地 Agent 报告
- 可选调用大模型生成二次分析报告
- 可基于当前上下文生成 Markdown WriteUp
- 保存分析历史、聊天记录和 WriteUp
- 内置若干常用小工具
- 编解码
- Hash/HMAC
- JWT 解析
- Caesar 爆破
- JSON / HTTP 格式化
- Base64 / URL / Flag / 正则提取
## 网站预览
## 技术栈
- 前端:原生 HTML + CSS + JavaScript
- 后端:PHP
- 分析 Agent:Python 3
- AI 接口:兼容 OpenAI Chat Completions 风格的 HTTP API
## 目录结构
CTF-WEB-TOOLS/
├─ agent/ # Python 分析逻辑
├─ api/ # PHP API 接口
├─ assets/ # 前端样式资源
├─ data/history/ # 历史分析记录
├─ inc/ # 公共模块(AI、附件处理、存储)
├─ config.php # AI 配置
├─ index.php # 控制台入口
└─ README.md
## 运行要求
- PHP 8.0 及以上
- Python 3.10 及以上
- 推荐本地运行
- 若需 AI 功能,需要可访问的模型接口和有效 `API Key`
## 快速开始
### 1. 进入项目目录
cd "CTF-WEB-TOOLS"
### 2. 启动 PHP 内置服务
php -S 127.0.0.1:8000
如果本机装有多个 PHP 版本,请先确认 `php` 可执行文件已加入环境变量。
### 3. 打开浏览器
访问:
http://127.0.0.1:8000
## 基本使用流程
1. 在首页输入单个 URL 或多个 URL
2. 按需填写补充线索、Cookie、自定义请求头
3. 如有题目附件,先上传附件
4. 点击开始分析
5. 查看Flag、可疑片段、API/JS/敏感路径结果和主报告
6. 如已配置 AI,可勾选 AI 二次分析
7. 需要结果时,生成 WriteUp 并导出 `.md`
## 配置说明
配置文件位于:
CTF-WEB-TOOLS\config.php
默认内容如下:
true,
'base_url' => '',
'api_key' => 'sk-',
'model' => '',
'temperature' => 0.2,
'timeout' => 90,
'max_tokens' => 900,
'max_history' => 12,
];
字段说明:
- `enabled`:是否启用 AI 功能
- `base_url`:模型接口地址,通常是 `/v1/chat/completions`
- `api_key`:接口密钥
- `model`:模型名
- `temperature`:生成温度
- `timeout`:请求超时秒数
- `max_tokens`:最大输出长度
- `max_history`:前端聊天历史上限
如果不需要 AI 功能,可以这样配置:
false,
'base_url' => '',
'api_key' => '',
'model' => '',
'temperature' => 0.2,
'timeout' => 90,
'max_tokens' => 900,
'max_history' => 12,
];
## 工作原理
### 页面分析链路
前端发起请求到:
CTF-WEB-TOOLS\api\agent.php
该接口会调用:
CTF-WEB-TOOLS\agent\run_agent.py
CTF-WEB-TOOLS\agent\solver.py
Python Agent 负责:
- 拉取页面内容
- 提取标题、注释、链接、表单、输入框、脚本
- 抓取外链 JS
- 探测常见敏感路径
- 识别 URL、参数、JWT、Base64、Hex、JSON、错误信息、框架指纹
- 汇总候选 Flag 和人工验证建议
### 附件分析链路
上传接口:
CTF-WEB-TOOLS\api\upload.php
处理模块:
CTF-WEB-TOOLS\inc\artifact.php
主要能力:
- 读取文本类文件
- 自动尝试 UTF-8 / GBK / GB2312 / BIG5 / ISO-8859-1 解码
- 对二进制文件提取可打印字符串
- 汇总文件预览、候选 Flag 和可疑片段
### AI 与 WriteUp
相关文件:
CTF-WEB-TOOLS\inc\ai_client.php)
CTF-WEB-TOOLS\api\chat.php
CTF-WEB-TOOLS\api\writeup.php
功能包括:
- 基于当前分析证据生成 AI 二次报告
- 在聊天窗口继续追问分析结论
- 自动整理成结构化 Markdown WriteUp
注意:AI 只应作为辅助整理工具,最终提交前仍需人工确认 Flag 与利用链。
## 历史记录
历史数据默认保存在:
CTF-WEB-TOOLS\data\history
相关接口:
CTF-WEB-TOOLS\api\history.php
每次分析会保存:
- 分析上下文
- URL 列表
- 本地分析结果
- AI 对话
- WriteUp
## 内置工具接口
工具接口文件:
CTF-WEB-TOOLS\api\tool.php
当前支持:
- `codec`
- `base64-encode`
- `base64-decode`
- `hex-encode`
- `hex-decode`
- `url-encode`
- `url-decode`
- `rot13`
- `binary-decode`
- `hash`
- `md5`
- `sha1`
- `sha256`
- `sha512`
- `hmac-sha256`
- `jwt`
- `caesar`
- `format`
- `json-pretty`
- `json-minify`
- `http-parse`
- `extract`
- `base64`
- `flags`
- `urls`
- `regex`
## 适用场景
- CTF Web 题目的初步信息整理
- 多目标页面的快速横向排查
- 登录态页面的只读探测
- 题目附件文本抽取与 Flag 搜索
- WriteUp 草稿生成
## 注意事项
- 本工具更适合本地靶场、CTF 环境或你明确有权限测试的目标
- 敏感路径探测虽然是只读设计,但仍然属于主动请求
- AI 报告不等于漏洞已验证成功
- `api/agent.php` 通过 `python` 命令调用 Python,请确认系统环境变量中可直接执行 `python`
- 如果 AI 接口未配置,AI 报告、聊天和 WriteUp 功能会返回空结果或不可用
## 常见问题
### 1. 页面能打开,但分析时报错 `Failed to start agent process`
通常是本机没有可直接调用的 `python`,或 PHP 无法执行进程。先检查:
python --version
php --version
### 2. AI 没有返回结果
优先检查:
- `config.php` 中的 `enabled`
- `base_url` 是否正确
- `api_key` 是否有效
- `model` 是否存在
- 目标接口是否兼容 Chat Completions 风格返回
### 3. 附件内容乱码
当前已做常见编码兼容,但极端情况下仍可能存在编码识别不准的问题,建议手动转为 `UTF-8` 后再上传。
## 后续可扩展方向
当前版本为V1.0 功能可能还不是那么完善
- 增加 Burp 导出流量导入
- 增加更多编码/解码工具
- 增加请求重放与参数批量测试
- 增加更完整的前端交互提示
- 增加 Docker 部署方式
- 增加依赖检查脚本
## 免责声明
本项目仅用于 CTF 学习、题目分析和授权测试场景。使用者应自行确保目标与行为合法合规。
## 技术栈
- 前端:原生 HTML + CSS + JavaScript
- 后端:PHP
- 分析 Agent:Python 3
- AI 接口:兼容 OpenAI Chat Completions 风格的 HTTP API
## 目录结构
CTF-WEB-TOOLS/
├─ agent/ # Python 分析逻辑
├─ api/ # PHP API 接口
├─ assets/ # 前端样式资源
├─ data/history/ # 历史分析记录
├─ inc/ # 公共模块(AI、附件处理、存储)
├─ config.php # AI 配置
├─ index.php # 控制台入口
└─ README.md
## 运行要求
- PHP 8.0 及以上
- Python 3.10 及以上
- 推荐本地运行
- 若需 AI 功能,需要可访问的模型接口和有效 `API Key`
## 快速开始
### 1. 进入项目目录
cd "CTF-WEB-TOOLS"
### 2. 启动 PHP 内置服务
php -S 127.0.0.1:8000
如果本机装有多个 PHP 版本,请先确认 `php` 可执行文件已加入环境变量。
### 3. 打开浏览器
访问:
http://127.0.0.1:8000
## 基本使用流程
1. 在首页输入单个 URL 或多个 URL
2. 按需填写补充线索、Cookie、自定义请求头
3. 如有题目附件,先上传附件
4. 点击开始分析
5. 查看Flag、可疑片段、API/JS/敏感路径结果和主报告
6. 如已配置 AI,可勾选 AI 二次分析
7. 需要结果时,生成 WriteUp 并导出 `.md`
## 配置说明
配置文件位于:
CTF-WEB-TOOLS\config.php
默认内容如下:
true,
'base_url' => '',
'api_key' => 'sk-',
'model' => '',
'temperature' => 0.2,
'timeout' => 90,
'max_tokens' => 900,
'max_history' => 12,
];
字段说明:
- `enabled`:是否启用 AI 功能
- `base_url`:模型接口地址,通常是 `/v1/chat/completions`
- `api_key`:接口密钥
- `model`:模型名
- `temperature`:生成温度
- `timeout`:请求超时秒数
- `max_tokens`:最大输出长度
- `max_history`:前端聊天历史上限
如果不需要 AI 功能,可以这样配置:
false,
'base_url' => '',
'api_key' => '',
'model' => '',
'temperature' => 0.2,
'timeout' => 90,
'max_tokens' => 900,
'max_history' => 12,
];
## 工作原理
### 页面分析链路
前端发起请求到:
CTF-WEB-TOOLS\api\agent.php
该接口会调用:
CTF-WEB-TOOLS\agent\run_agent.py
CTF-WEB-TOOLS\agent\solver.py
Python Agent 负责:
- 拉取页面内容
- 提取标题、注释、链接、表单、输入框、脚本
- 抓取外链 JS
- 探测常见敏感路径
- 识别 URL、参数、JWT、Base64、Hex、JSON、错误信息、框架指纹
- 汇总候选 Flag 和人工验证建议
### 附件分析链路
上传接口:
CTF-WEB-TOOLS\api\upload.php
处理模块:
CTF-WEB-TOOLS\inc\artifact.php
主要能力:
- 读取文本类文件
- 自动尝试 UTF-8 / GBK / GB2312 / BIG5 / ISO-8859-1 解码
- 对二进制文件提取可打印字符串
- 汇总文件预览、候选 Flag 和可疑片段
### AI 与 WriteUp
相关文件:
CTF-WEB-TOOLS\inc\ai_client.php)
CTF-WEB-TOOLS\api\chat.php
CTF-WEB-TOOLS\api\writeup.php
功能包括:
- 基于当前分析证据生成 AI 二次报告
- 在聊天窗口继续追问分析结论
- 自动整理成结构化 Markdown WriteUp
注意:AI 只应作为辅助整理工具,最终提交前仍需人工确认 Flag 与利用链。
## 历史记录
历史数据默认保存在:
CTF-WEB-TOOLS\data\history
相关接口:
CTF-WEB-TOOLS\api\history.php
每次分析会保存:
- 分析上下文
- URL 列表
- 本地分析结果
- AI 对话
- WriteUp
## 内置工具接口
工具接口文件:
CTF-WEB-TOOLS\api\tool.php
当前支持:
- `codec`
- `base64-encode`
- `base64-decode`
- `hex-encode`
- `hex-decode`
- `url-encode`
- `url-decode`
- `rot13`
- `binary-decode`
- `hash`
- `md5`
- `sha1`
- `sha256`
- `sha512`
- `hmac-sha256`
- `jwt`
- `caesar`
- `format`
- `json-pretty`
- `json-minify`
- `http-parse`
- `extract`
- `base64`
- `flags`
- `urls`
- `regex`
## 适用场景
- CTF Web 题目的初步信息整理
- 多目标页面的快速横向排查
- 登录态页面的只读探测
- 题目附件文本抽取与 Flag 搜索
- WriteUp 草稿生成
## 注意事项
- 本工具更适合本地靶场、CTF 环境或你明确有权限测试的目标
- 敏感路径探测虽然是只读设计,但仍然属于主动请求
- AI 报告不等于漏洞已验证成功
- `api/agent.php` 通过 `python` 命令调用 Python,请确认系统环境变量中可直接执行 `python`
- 如果 AI 接口未配置,AI 报告、聊天和 WriteUp 功能会返回空结果或不可用
## 常见问题
### 1. 页面能打开,但分析时报错 `Failed to start agent process`
通常是本机没有可直接调用的 `python`,或 PHP 无法执行进程。先检查:
python --version
php --version
### 2. AI 没有返回结果
优先检查:
- `config.php` 中的 `enabled`
- `base_url` 是否正确
- `api_key` 是否有效
- `model` 是否存在
- 目标接口是否兼容 Chat Completions 风格返回
### 3. 附件内容乱码
当前已做常见编码兼容,但极端情况下仍可能存在编码识别不准的问题,建议手动转为 `UTF-8` 后再上传。
## 后续可扩展方向
当前版本为V1.0 功能可能还不是那么完善
- 增加 Burp 导出流量导入
- 增加更多编码/解码工具
- 增加请求重放与参数批量测试
- 增加更完整的前端交互提示
- 增加 Docker 部署方式
- 增加依赖检查脚本
## 免责声明
本项目仅用于 CTF 学习、题目分析和授权测试场景。使用者应自行确保目标与行为合法合规。标签:AI分析, Base64, BeEF, CTF工具, ffuf, Flag提取, Hash计算, HMAC, HTTP请求, JSON格式化, JWT, Linux取证, OpenVAS, PHP, Python, Web安全, WriteUp生成, 多模态安全, 大模型, 技术栈指纹, 敏感路径探测, 数据可视化, 数据泄露, 文本抽取, 无后门, 本地控制台, 正则提取, 漏洞搜索, 爬虫, 编解码, 网络安全, 网络调试, 自动化, 蓝队分析, 隐私保护