
PHP 버전 스캐너: 가능한 취약점 보고
Versionscan은 현재 설치된 PHP 버전을 평가하고 알려진 CVE 및 해당 버전이 수정된 버전과 비교하여 잠재적인 문제를 보고하는 도구입니다.
참고: 보안 수정을 백포트하는 Linux 배포판에 도구를 적용하는 작업이 아직 진행 중입니다. 현재로서는 보고된 정확한 버전에 대해서만 결과를 반환합니다.
{
"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-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과 같은 이름의 파일로 작성됩니다.