mavhezha/juice-shop-pentest
GitHub: mavhezha/juice-shop-pentest
对OWASP Juice Shop进行的一次完整渗透测试报告,记录了9个漏洞的发现、利用过程、CVSS评分及修复指导。
Stars: 1 | Forks: 0
# 🧃 OWASP Juice Shop:渗透测试项目
-blue)



对 [OWASP Juice Shop](https://owasp.org/www-project-juice-shop/) 进行的完整 Web 应用程序渗透测试,记录了 **7 个 OWASP Top 10 类别**中的 **9 个漏洞**,包含完整的利用概念验证、证据和修复指导。
## 📊 发现摘要
| # | 发现 | OWASP 类别 | 严重程度 | CVSS |
|---|---------|---------------|----------|------|
| 1 | 登录 SQL 注入 | A03:2021:注入 | 🔴 **严重** | 9.8 |
| 2 | 跨站脚本(XSS) | A03:2021:注入 | 🟠 **高** | 6.1 |
| 3 | 身份验证缺陷 | A07:2021:身份验证失败 | 🟠 **高** | 7.5 |
| 4 | 访问控制缺陷(IDOR) | A01:2021:访问控制 | 🟠 **高** | 7.1 |
| 5 | 安全配置错误 | A05:2021:配置错误 | 🟡 **中** | 5.3 |
| 6 | 敏感数据泄露 | A02:2021:加密失败 | 🔴 **严重** | 8.6 |
| 7 | 文件上传绕过 | A04:2021:不安全设计 | 🟡 **中** | 5.9 |
| 8 | 组件漏洞 | A06:2021:易受攻击组件 | 🟡 **中** | 5.6 |
| 9 | 日志记录不足 | A09:2021:日志记录失败 | 🟡 **中** | 5.0 |
## 🛠️ 使用的工具
- **Burp Suite Community Edition**:HTTP 拦截、请求操作、流量分析
- **Firefox + FoxyProxy**:带代理切换的浏览器测试
- **curl**:命令行 API 枚举和载荷传递
- **Python 3**:JSON 解析和数据分析
- **Kali Linux**:基础操作系统和安全工具平台
## 📁 仓库结构
```
juice-shop-pentest/
├── README.md # This file
├── report/
│ └── Juice_Shop_Pentest_Report.docx # Full professional report
├── notes/
│ └── recon-notes.md # Detailed reconnaissance notes
├── scripts/
│ ├── brute-force.sh # Login brute force (no rate limiting PoC)
│ ├── idor-baskets.sh # IDOR basket enumeration
│ └── api-enum.sh # API endpoint enumeration
├── screenshots/
│ ├── 01-recon/ # Reconnaissance phase screenshots
│ ├── 02-sqli/ # SQL injection evidence
│ ├── 03-xss/ # XSS evidence
│ ├── 04-broken-auth/ # Brute force & auth bypass evidence
│ ├── 05-idor/ # IDOR exploitation evidence
│ ├── 06-misconfig/ # Misconfiguration evidence
│ ├── 07-sensitive-data/ # Data exposure evidence
│ └── 08-file-upload/ # File upload bypass evidence
└── findings/
├── 01-sqli.md # SQL Injection detailed writeup
├── 02-xss.md # XSS detailed writeup
├── 03-broken-auth.md # Broken Authentication writeup
├── 04-idor.md # IDOR writeup
├── 05-misconfig.md # Security Misconfiguration writeup
├── 06-sensitive-data.md # Sensitive Data Exposure writeup
├── 07-file-upload.md # File Upload Bypass writeup
├── 08-vuln-components.md # Vulnerable Components writeup
└── 09-logging.md # Insufficient Logging writeup
```
## 🔍 方法论
本次评估遵循 **OWASP 测试指南 v4** 方法论,分为四个阶段:
### 阶段 1:搭建
- 在 Kali Linux 上通过 Docker 部署 OWASP Juice Shop
- 配置 Burp Suite CE 作为拦截代理
- 设置 Firefox 代理配置以拦截流量
### 阶段 2:侦察
- 指纹识别技术栈(Angular、Node.js/Express、SQLite、JWT)
- 提取并分析 `main.js` 以枚举 **35+ 个 API 端点**
- 测试所有发现端点的未认证 API 访问
- 检查 HTTP 响应头是否存在安全配置错误
- 在公共 `/ftp` 目录发现敏感文件
### 阶段 3:利用
- 利用 SQL 注入绕过身份验证并获取管理员权限
- 通过搜索功能演示基于 DOM 的 XSS
- 无速率限制地暴力破解管理员密码(`admin123`)
- 利用 IDOR 访问其他用户的购物篮
- 通过 Burp Suite 拦截绕过文件上传限制
- 从未认证的 API 端点提取敏感数据
### 阶段 4:报告
- 记录所有发现,包含严重程度评级、CVSS 分数和 OWASP Top 10 映射
- 生成专业的渗透测试报告和修复路线图
- 创建包含复现步骤的单独发现文档
## 🚀 快速开始:搭建实验室
```
# 安装 Docker
sudo apt install -y docker.io
sudo usermod -aG docker ${USER}
newgrp docker
# 运行 Juice Shop
docker run -d -p 3000:3000 bkimminich/juice-shop
# 验证
curl -s http://127.0.0.1:3000 | head -5
# 在浏览器中打开
firefox http://127.0.0.1:3000
```
## ⚡ 关键发现亮点
### 严重:SQL 注入身份验证绕过
```
Email: ' OR 1=1--
Password: anything
→ Logged in as admin@juice-sh.op
```
登录端点将用户输入直接拼接到 SQL 查询中,未使用参数化,允许完全绕过身份验证。
### 严重:大规模信息泄露
```
curl -s http://127.0.0.1:3000/rest/admin/application-configuration
```
**无需身份验证**返回整个应用程序配置,包括 OAuth 凭据、纯文本安全问题答案和内部元数据。
### 高:无暴力破解防护
```
for pw in admin admin1 admin123 password password1 123456; do
curl -s http://127.0.0.1:3000/rest/user/login \
-H "Content-Type: application/json" \
-d "{\"email\":\"admin@juice-sh.op\",\"password\":\"$pw\"}"
done
# 所有 6 次尝试立即处理。无锁定,无 CAPTCHA,无速率限制
# admin123 在第 3 次尝试时成功
```
## 📋 修复优先级
| 优先级 | 时间范围 | 行动 |
|----------|-----------|---------|
| 🔴 立即 | 第 1 周 | 参数化查询、替换 MD5 哈希、限制配置端点 |
| 🟠 短期 | 第 2-3 周 | 速率限制、CAPTCHA、安全头、移除 `/ftp` 和 `/metrics` |
| 🟡 中期 | 第 4-6 周 | 服务端 RBAC、文件上传验证、WAF 部署、SIEM |
| 🔵 持续 | 持续进行 | 依赖扫描、季度渗透测试、安全培训 |
## ⚠️ 免责声明
本项目是在**受控实验室环境**中对专门为安全培训设计的有漏洞应用程序进行的。此处演示的技术**仅**可用于您已获得明确授权进行测试的系统。未经授权访问计算机系统是违法行为。
## 📚 参考资料
- [OWASP Juice Shop 项目](https://owasp.org/www-project-juice-shop/)
- [OWASP Top 10(2021)](https://owasp.org/www-project-top-ten/)
- [OWASP 测试指南 v4](https://owasp.org/www-project-web-security-testing-guide/)
- [Pwning OWASP Juice Shop(官方指南)](https://pwning.owasp-juice.shop/)
## 📄 许可证
本项目基于 MIT 许可证授权。详情请参阅 [LICENSE](LICENSE)。
标签:AES-256, Burp Suite, CISA项目, CVSS评分, HTTP拦截, IDOR越权访问, MITM代理, OWASP Juice Shop, OWASP Top 10, PNNL实验室, Web安全, Web应用测试, Web报告查看器, 安全修复建议, 安全测试, 安全配置错误, 攻击性安全, 敏感数据暴露, 文件上传绕过, 日志记录不足, 渗透测试报告, 漏洞利用PoC, 漏洞组件, 漏洞评估, 蓝队分析, 请求拦截, 身份认证绕过