/prvd

PHP Runtime Vulnerability Detection

Primary LanguagePHPBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

prvd

Build Status GitHub

介绍

PHP 动态漏洞检测

sentry_detail

安装

  1. git clone 到一个非 web 目录下,假设目录为 /data/prvd
git clone https://github.com/fate0/prvd.git /data/prvd
  1. 安装依赖
composer install
  1. 下载编译 xmark
  1. 更改 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 服务

dvwa

可以使用 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 可以看这里

原理

引用