PHP 动态漏洞检测
- git clone 到一个非 web 目录下,假设目录为
/data/prvd
git clone https://github.com/fate0/prvd.git /data/prvd
- 安装依赖
composer install
- 下载编译 xmark
- 更改 php.ini 配置文件
auto_prepend_file
配置成/data/prvd/src/Entry.php
extension
配置成xmark.so
路径- 其余的配置请直接 copy 本项目中 php.ini 的内容
使用编辑器打开 /data/prvd/src/Config.php
define("PRVD_FUZZER_DSN", ""); // fuzzer dsn 地址
define("PRVD_SENTRY_DSN", ""); // sentry dsn 地址
define("PRVD_TAINT_ENABLE", true); // 是否启用 taint 模式
define("PRVD_TANZI", "xtanzi"); // payload 关键字
define("PRVD_LOG_FILE", "/data/prvd/prvd.log"); // log 文件
前往 https://sentry.io 注册一个账号,或者自建一套 sentry 服务
可以使用 docker 体验一下 prvd
docker pull fate0/prvd-dvwa
docker run -d -e "PRVD_SENTRY_DSN={YOUR_SENTRY_DSN}" -p 80:80 fate0/prvd-dvwa
可设置的环境变量有
PRVD_FUZZER_DSN
PRVD_SENTRY_DSN
PRVD_TAINT_ENABLE
PRVD_TANZI
更多关于 prvd-dvwa
可以看这里