# pentest-lab **Repository Path**: powerinfo/pentest-lab ## Basic Information - **Project Name**: pentest-lab - **Description**: 网络渗透实践实验项目 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2026-06-24 - **Last Updated**: 2026-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 网络渗透实践(现代版) > **课程性质**:信息安全专业实践课,共 24 学时 > **Author**:Shawn Yang --- ## 一、项目简介 本项目是一套基于 Docker 容器化技术的**网络渗透测试教学实验平台**,聚焦现代 Web(SPA + API)与微服务架构下的安全漏洞挖掘与攻击链实战。 靶场覆盖两大 OWASP 官方漏洞环境: | 靶场 | 类型 | 说明 | |------|------|------| | **OWASP Juice Shop** | 传统 Web + SPA | 覆盖 OWASP Top 10 的现代 Web 漏洞靶场(Node.js + Angular) | | **OWASP crAPI** | API + 微服务 | 覆盖 OWASP API Security Top 10 的汽车服务 API 靶场(Java Spring Boot + Python) | --- ## 二、使用方法 ### 预备课程建议 已修《计算机网络》《Web 技术基础》《操作系统》,并具备基本的 Linux 命令行和 HTTP 协议知识。建议先修《信息安全导论》或同等内容。 ### 环境要求 | 组件 | 要求 | |------|------| | Docker Engine | 20.10+ | | Docker Compose | V2(`docker compose` 命令可用) | | 宿主机 | Windows / macOS / Linux,至少 8 GB 可用内存 | ### 启动 ```bash docker compose up -d ``` 首次启动会自动拉取镜像(约需 5-10 分钟,取决于网络状况)。 ### 停止 ```bash docker compose down ``` ### 重置(清除数据恢复到初始状态) ```bash docker compose down -v && docker compose up -d ``` ### 验证 ```bash docker ps # 应看到 7 个容器均处于 Up 状态 ``` --- ## 三、靶场地址 | 服务 | URL | 用途 | |------|-----|------| | Juice Shop | http://localhost:3000 | Web 应用漏洞靶场 | | crAPI Web | http://localhost:8888 | API 靶场前端 / 网关 | | crAPI Identity | http://localhost:8080 | 认证与令牌签发服务 | | crAPI Workshop | http://localhost:8000 | 车辆维修 / 订单 API | | crAPI Community | http://localhost:8087 | 社区论坛 API | | Mailhog | http://localhost:8025 | 邮件拦截面板(crAPI 邮件测试) | | PostgreSQL | localhost:5432 | crAPI 数据库(crapi / crapi) | --- ## 四、目录结构 ``` pentest-lab/ ├── .gitignore # Git 忽略规则 ├── README.md # 项目说明(本文件) ├── docker-compose.yml # 容器编排(Juice Shop + crAPI 微服务栈) ├── attachment/ │ └── api-endpoints.txt # API 路径枚举字典(SecLists 精选) └── docs/ ├── experiment-1.md # 实验1:环境搭建与代理配置(2 学时) ├── experiment-2.md # 实验2:信息收集与攻击面识别(4 学时) ├── experiment-3.md # 实验3:Web 漏洞基础利用(4 学时) ├── experiment-4.md # 实验4:认证与会话安全(4 学时) ├── experiment-5.md # 实验5:API 安全与对象级越权(4 学时) ├── experiment-6.md # 实验6:综合渗透攻击链实战(4+ 学时) └── appendixes.md # 附录(Docker 安装指引 + 思考题参考答案) ``` --- ## 五、课程大纲 | 实验 | 名称 | 学时 | 核心内容 | |:--:|------|:--:|----------| | 1 | 环境搭建与代理配置 | 2 | Docker 靶场部署、Burp Suite 内置浏览器、Wappalyzer 指纹识别、Insomnia API 客户端 | | 2 | 信息收集与攻击面识别 | 4 | Burp Target Site Map、ffuf API 字典枚举、Swagger 文档泄露、JS Source Map 逆向还原 | | 3 | Web 漏洞基础利用 | 4 | SQL 注入(登录绕过 + UNION 提取)、命令注入(GetShell)、SSRF(内网探测)、XSS 专题(存储型 + DOM 型对比) | | 4 | 认证与会话安全 | 4 | JWT 密钥混淆攻击(RS256→HS256)、Race Condition 并发竞争、OAuth 2.0 流程漏洞分析 | | 5 | API 安全与对象级越权 | 4 | crAPI 微服务拓扑探索、Insomnia vs Burp 工具协同、BOLA/IDOR 越权、Mass Assignment 结构化注入、Race Condition 并发攻击 | | 6 | 综合渗透攻击链实战 | 4+ | Kill Chain 全链路:外网侦察→万能密码登录→命令注入 GetShell→SSRF 横向移动→BOLA 数据劫持→攻击链拓扑图与 Timeline 输出 | --- ## 六、配套工具(全部开源免费) | 工具 | 许可证 | 用途 | |------|--------|------| | Burp Suite Community Edition | 专有免费 | HTTP/HTTPS 拦截代理、Repeater、JWT Editor 插件 | | Wappalyzer | GPLv3 | Web 技术栈指纹识别 | | Insomnia | Apache 2.0 | REST/GraphQL API 调试客户端 | | ffuf | MIT | Web 路径/API 端点模糊测试 | | SecLists | MIT | 渗透测试字典库 | > **注意**:课程中 **不推荐** 使用 jwt.io 等在线工具解码 Token(存在凭证泄露风险),统一使用 Burp Suite 本地 JWT Editor 插件。 --- ## 七、相关资源 - [OWASP Juice Shop](https://owasp.org/www-project-juice-shop/) - [OWASP crAPI](https://owasp.org/www-project-crapi/) - [OWASP Top 10 (2021)](https://owasp.org/www-project-top-ten/) - [OWASP API Security Top 10 (2023)](https://owasp.org/www-project-api-security/) - [MITRE ATT&CK Framework](https://attack.mitre.org/)