一个纯 PHP + SQLite(零配置)的 Web 漏洞攻防练习靶场,包含 18 个漏洞模块、共 129 关,覆盖从无防护到强防护的四个难度等级,并内置提示系统、通关进度与阶段测验。
仅供学习网络攻防技术使用,禁止部署到公网或任何可被外部访问的环境。
- 零配置:SQLite 数据库,首次运行自动初始化
- 四级难度:low(无防护)/ medium(可绕过的错误防护)/ high(强防护)/ impossible(不可攻破标杆)
- 提示系统:none / hint(思路提示)/ full(完整 payload)三档
- 进度记录:通关进度、攻击尝试记录(复盘)、阶段测验成绩、错题本
- Cheatsheet:内置速查表页面
| 模块 | 关卡数 | 内容 |
|---|---|---|
| SQL 注入 | 25 | 对标 sqli-labs,覆盖全部闭合/盲注/堆叠/二次注入/绕过 |
| XSS 跨站脚本 | 15 | 反射型/存储型/DOM 型,各种过滤绕过 |
| 文件上传 | 15 | 前端绕过/MIME 绕过/扩展名绕过/图片马/条件竞争 |
| 命令注入 | 10 | OS 命令注入/管道/分号/反引号/各种绕过 |
| 逻辑漏洞 | 8 | 越权/密码重置/验证码/参数缺失/溢出/竞争 |
| CSRF | 5 | 无防护/Referer 绕过/Token 绕过/SameSite/正确防护 |
| SSRF | 5 | URL 请求/IP 绕过/协议绕过/DNS 重绑定/盲注 |
| 文件包含 (LFI) | 5 | LFI/路径穿越/双写绕过/RFI/伪协议 |
| 会话管理 | 5 | 会话固定/预测/超时/Cookie 属性/劫持 |
| 信息泄露 | 5 | 目录列表/备份文件/错误信息/源码/配置 |
| 不安全加密 | 5 | 弱哈希/硬编码密钥/ECB/弱随机/不安全比较 |
| SSTI 模板注入 | 5 | 服务端模板注入/过滤绕过 |
| 代码执行 (RCE) | 5 | eval/assert/preg_replace_e/create_function/动态调用 |
| LDAP/XPath 注入 | 4 | LDAP 注入/盲注/XPath 注入/盲注 |
| XXE | 3 | 基础/盲注/参数实体绕过 |
| 反序列化 | 3 | PHP 反序列化/POP 链/phar |
| 开放重定向 | 3 | 无过滤/白名单绕过/相对路径 |
| CRLF 注入 | 3 | 响应拆分/邮件注入/日志注入 |
- PHP >= 7.4(需启用 pdo_sqlite 扩展)
- 无需数据库服务,无需 Composer
# 在项目根目录启动内置服务器(router.php 负责把 /modules/ 映射到项目根)
php -S 127.0.0.1:8800 -t public public/router.php浏览器访问 http://127.0.0.1:8800
默认账号:admin / admin123(密码故意为弱哈希,用于演示认证漏洞)
├── config.php # 全局配置(模块注册表等)
├── data/ # SQLite 数据库与初始化 SQL
├── includes/ # 各模块辅助类(漏洞逻辑所在)
├── modules/ # 漏洞关卡页面(modules/<模块>/stageN.php)
└── public/ # Web 入口(dashboard、login、quiz 等)
仅供学习交流使用。