PHP Runtime Vulnerability Detection
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
artwork
dvwa
src
tests
tools
.gitignore
.travis.yml
Dockerfile
LICENSE
README.md
composer.json
entrypoint.php
phpunit.xml
prvd.ini
test.sh
travis-php.ini

README.md

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

原理

引用