
Ein PHP-Versions-Scanner zur Meldung möglicher Schwachstellen
Versionscan ist ein Werkzeug zur Bewertung Ihrer aktuell installierten PHP-Version und zum Abgleich mit bekannten CVEs und den Versionen, in denen sie behoben wurden, um über mögliche Probleme zu berichten.
BITTE BEACHTEN: Die Arbeit zur Anpassung des Werkzeugs an Linux-Distributionen, die Sicherheitsupdates zurückportieren, ist noch im Gange. Derzeit werden nur Berichte für die direkt gemeldete Version erstellt.
{
"require": {
"psecio/versionscan": "dev-master"
}
}
Die derzeit einzige Abhängigkeit ist die Symfony-Konsole.
Um den Scan gegen Ihre aktuelle PHP-Version auszuführen, verwenden Sie:
bin/versionscan
Das Skript überprüft die PHP_VERSION der aktuellen Instanz und erzeugt die Bestanden/Nicht bestanden-Ergebnisse. Die Ausgabe sieht ähnlich aus wie:
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... |
Die Ergebnisse werden auch farbig dargestellt, um das Bestanden/Nicht bestanden der Prüfung leicht erkennbar zu machen.
Es gibt mehrere Parameter, die dem Werkzeug übergeben werden können, um seine Scans und Ergebnisse zu konfigurieren:
Wenn Sie eine andere PHP-Version zur Überprüfung angeben möchten als die, die das Skript selbst findet, können Sie den Parameter php-version verwenden:
bin/versionscan scan --php-version=4.3.2
Sie können versionscan auch anweisen, nur die Fehlschläge und nicht die bestandenen Tests zu melden:
bin/versionscan scan --fail-only
Sie können die Ergebnisse auch nach der CVE-ID oder nach Schweregrad (Risikobewertung) sortieren, mit dem Parameter sort und dem Wert "cve" oder "risk":
bin/versionscan scan --sort=risk
Standardmäßig gibt versionscan Informationen direkt auf der Konsole in einem menschenlesbaren Ergebnis aus. Sie können auch andere Ausgabeformate angeben, die möglicherweise leichter programmatisch zu parsen sind (wie JSON). Verwenden Sie die Option --format, um die Ausgabe zu ändern:
vendor/bin/versionscan scan --php-version=5.5 --format=json
Unterstützte Ausgabeformate sind console, json, xml und html.
Das HTML-Ausgabeformat erfordert eine --output-Option mit dem Verzeichnis, in das die Datei geschrieben werden soll:
vendor/bin/versionscan scan --php-version=5.5 --format=html --output=/var/www/output
Das Ergebnis wird in eine Datei mit einem Namen wie versionscan-output-20150808.html geschrieben.