psecio / versionscan
一个用于报告潜在漏洞的 PHP 版本扫描器
1.5.4
2019-05-03 15:38 UTC
Requires
- php: >=5.3.1
- sunra/php-simple-html-dom-parser: ~1.5.0
- symfony/console: ~2.1|~3.0
Requires (Dev)
- kherge/box: ~2.4
- phpunit/phpunit: 4.2.*
README
versionscan 是一个工具,用于评估您当前安装的 PHP 版本,并将其与已知的 CVE 和修复这些 CVE 的版本进行对比,以报告潜在的问题。
请注意:仍在进行工作以将工具适配到支持回滚安全修复的 Linux 发行版。到目前为止,此工具仅报告直接报告的版本。
安装
使用 Composer
{
"require": {
"psecio/versionscan": "dev-master"
}
}
当前唯一的依赖项是 Symfony 控制台。
用法
要扫描当前 PHP 版本,请使用
bin/versionscan
该脚本将检查当前实例的 PHP_VERSION
并生成通过/失败结果。输出类似于
Executing against version: 5.4.24
+--------+---------------+------+------------------------------------------------------------------------------------------------------+
| Status | CVE ID | Risk | Summary |
+--------+---------------+------+------------------------------------------------------------------------------------------------------+
| FAIL | CVE-2014-3597 | 6.8 | Multiple buffer overflows in the php_parserr function in ext/standard/dns.c in PHP before 5.4.32 ... |
| FAIL | CVE-2014-3587 | 4.3 | Integer overflow in the cdf_read_property_info function in cdf.c in file through 5.19, as used in... |
结果将以彩色方式报告,以便轻松显示检查的通过/失败。
参数
可以向工具提供多个参数来配置其扫描和结果
PHP 版本
如果您想定义一个与脚本找到的版本不同的 PHP 版本进行检查,可以使用 php-version
参数
bin/versionscan scan --php-version=4.3.2
仅报告失败
您还可以告诉 versionscan 只报告失败,而不报告通过测试
bin/versionscan scan --fail-only
排序结果
您还可以使用 sort
参数和 "cve" 或 "risk" 值按 CVE ID 或严重性(风险评级)排序结果
bin/versionscan scan --sort=risk
输出格式
默认情况下,versionscan 将直接输出到控制台,以便以人类可读的结果进行输出。您还可以指定其他可能更容易解析的程序化输出格式(如 JSON)。使用 --format
选项更改输出
vendor/bin/versionscan scan --php-version=5.5 --format=json
支持的输出格式是 console
、json
、xml
和 html
。
HTML 输出格式需要指定 --output
选项的目录以写入文件
vendor/bin/versionscan scan --php-version=5.5 --format=html --output=/var/www/output
结果将写入一个类似 versionscan-output-20150808.html
的文件