一个覆盖常见 PHP 代码审计知识点的本地靶场。参考 DVWA / Pikachu 的组织方式,含安装向导与通关教程。
-
安装向导:生成数据库与配置(MySQL / PDO)
-
认证模块:登录 / 注册 / 注销(示范弱口令与 MD5 存储)
-
漏洞模块(部分):
- SQL 注入(数字型 / 字符型)
- XSS(反射型 / 存储型 / DOM 型)
- CSRF(邮箱修改)
- 文件上传绕过(双扩展等)
- 文件包含(LFI/RFI)
- 路径遍历
- 命令注入(Windows ping)
- SSRF(内网探测示例)
- 反序列化 / PHAR 元数据利用
- 开放重定向 / 邮件头注入 / Host Header 注入
- 弱加密(MD5 / rand)
- 逻辑漏洞(价格参数篡改示例)
- 会话固定(不 regenerate)
- RCE(eval 代码执行)
- JWT 弱校验(none 算法 / 未验签)
- IDOR 越权访问
- CORS 误配置(反射 Origin + 允许凭据)
- HPP 参数污染(多值参数)
- 任意文件写入(路径遍历写入)
- phpinfo 敏感信息泄露
- 点击劫持(未设防)
扩展模块(新增):
- 变量覆盖(extract)
- XPath 注入
- 正则 ReDoS(灾难性回溯)
- PHP 流包装器信息泄露(php://filter)
- LDAP 注入(过滤器拼接)
- Web 缓存投毒与欺骗(缓存键/Vary 错误)
- 二次解析(双重解码)
- Windows + PHPStudy(推荐)或本机 PHP 7.4+/8.x + MySQL 5.7+/8.0+
- 浏览器即可,无需外网
- 将本项目文件夹拷贝到 PHPStudy 的
WWW目录,例如:C:\phpStudy\WWW\PHP-Code-Sec - 启动 PHPStudy 并确保
Apache/Nginx + PHP + MySQL正常运行 - 访问
http://localhost/PHP-Code-Sec/setup/install.php - 在安装页面填入 MySQL 信息(主机、端口、用户名、密码),数据库名可用默认
phpsec_lab - 点击安装,成功后自动生成
config/config.inc.php并初始化表与样例数据 - 返回首页开始练习:
http://localhost/PHP-Code-Sec/
提示:PHPStudy 常见默认账户可能为
root/ 空密码 或root/root/123456,请以实际环境为准。
- 在项目根目录运行:
php -S 127.0.0.1:3000 -t .
- 然后访问
http://127.0.0.1:3000/setup/install.php完成安装;之后访问首页http://127.0.0.1:3000/
PHP-Code-Sec/
├─ index.php # 首页与模块导航
├─ login.php / register.php / logout.php / profile.php
├─ setup/install.php # 安装向导
├─ core/ # 初始化与数据库封装
├─ config/ # 安装生成配置
├─ modules/ # 漏洞模块
├─ pages/ # 文件包含用到的演示页
├─ data/ # 路径遍历演示文件
├─ uploads/ # 文件上传目录
├─ assets/css/style.css # 炫酷暗色样式
└─ writeup.md # 通关教程(详细解法与payload)
└─ summary.md # 模块源代码索引(快速定位路径)
- 该靶场为教育演示用途,代码刻意存在大量安全问题,请勿在生产环境部署。
- 建议使用隔离环境(如虚拟机 / 容器 / 本地测试机)。
- 学习完成后请及时删除或隔离该项目,避免被误用。
- 连接失败:检查 MySQL 端口、账号密码、PDO 扩展是否开启。
- 页面 500:查看
setup/install.php是否已成功生成config/config.inc.php。 - RFI/PHAR 演示:部分功能需要开启或利用特定 PHP 配置,详见
writeup.md。
本项目仅用于安全学习与审计实操示范。未经授权,禁止用于非法用途。



