psecio/versionscan

一个用于报告潜在漏洞的 PHP 版本扫描器

1.5.4 2019-05-03 15:38 UTC

This package is auto-updated.

Last update: 2024-09-05 05:31:10 UTC


README

Build Status Total Downloads

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

支持的输出格式是 consolejsonxmlhtml

HTML 输出格式需要指定 --output 选项的目录以写入文件

vendor/bin/versionscan scan --php-version=5.5 --format=html --output=/var/www/output

结果将写入一个类似 versionscan-output-20150808.html 的文件