atomiczsec/Web-Cache-Scanner
GitHub: atomiczsec/Web-Cache-Scanner
一款兼容 Burp 社区版的 Web Cache Deception 漏洞自动化检测扩展,通过路径映射、分隔符枚举和规范化差异分析快速发现缓存欺骗风险。
Stars: 19 | Forks: 3
# Web Cache Deception 扫描器 - Burp 扩展社区版
这是一个用于测试 Web 应用程序中各种 Web Cache Deception 漏洞的 Burp Suite 扩展。此版本已经过修改,可与 **Burp Suite 社区版** 配合使用。
## 该扫描器执行以下检查:
| 检查 | 描述 |
|-------|-------------|
| **初始路径映射检查** | 验证目标端点对已认证与未认证请求的响应是否不同,并检查附加随机路径段(例如,`/originalpath/randomXYZ`)是否返回与原始路径(`/originalpath`)相似的内容,从而确认后端可能会忽略尾部路径段这一先决条件。 |
| **分隔符 + 扩展名缓存测试** | 如果初始检查通过,将遍历常见的分隔符(`/`、`;`、`?`)和文件扩展名(例如,`.js`、`.css`、`.jpg`、`.woff2`、`.pdf`)。对于每种组合(例如,`/originalpath/randomXYZ.js`),检查在未认证情况下请求该 URL 是否返回与已认证请求相似的内容,这表明已认证的响应是基于扩展名被缓存的。 |
| **路径规范化缓存测试** | 使用可缓存的目标(例如,`/robots.txt`、`/index.html`、`/assets/`)检查缓存的路径规范化方式是否与后端服务器不同。遍历分隔符和路径遍历模板(例如,`%2f%2e%2e%2f`),构造类似 `/originalpath;%2f%2e%2e%2frobots.txt` 的 URL,并比较已认证和未认证的响应,以检测缓存规范化漏洞。 |
## 安装 (社区版)
### 选项 1:下载预构建版本 (推荐)
1. 访问 [Releases 页面](https://github.com/atomiczsec/Web-Cache-Scanner/releases)
2. 从 **Latest build** 发布版中下载最新的 `web-cache-deception-scanner-all.jar`
3. 在 Burp Suite 中,转到 **Extender** 选项卡
4. 点击 **Add** 并选择下载的 JAR 文件
5. 在 **Output** 选项卡中检查加载确认信息
### 选项 2:从源码构建
**前置条件:**
- Java JDK 11 或更高版本
- Gradle (或使用包含的 Gradle Wrapper)
**构建步骤:**
1. 克隆仓库:
git clone https://github.com/atomiczsec/Web-Cache-Scanner.git
cd Web-Cache-Scanner
2. 使用 Gradle 构建扩展:
./gradlew clean build
或在 Windows 上:
gradlew.bat clean build
3. 构建好的 JAR 文件将位于 `build/libs/web-cache-deception-scanner-all.jar`
4. 在 Burp Suite 中安装:
- 打开 Burp Suite 并转到 **Extender** 选项卡
- 点击 **Add** 并从 `build/libs/` 中选择该 JAR 文件
- 在 **Output** 选项卡中验证安装
## 鸣谢
原始扩展作者为 [Johan Snyman](mailto:jsnyman@trustwave.com)。漏洞研究由 [Omer Gil](https://twitter.com/omer_gil) 完成。社区版更新由 [atomiczsec](https://atomiczsec.net) 提供。
联系我:
标签:Burp Suite, Burp插件, CISA项目, HTTP缓存, JAR, JS文件枚举, SEO工具, Web安全, Web缓存欺骗, 后台面板检测, 域名枚举, 安全测试, 攻击性安全, 数据展示, 社区版, 红队, 缓存中毒, 缓存欺骗, 网络安全, 蓝队分析, 路径规范化, 路径遍历, 隐私保护