PHP를위한 정적 분석 도구.
Pseudo-Executes PHP 코드는 취약성을 감지합니다.
다음과 같은 기능이 있습니다.
다음과 같은 취약점을 확인할 수 있습니다.
테스트 결과는 HTML 보고서로 출력됩니다.
검사 보고서는 사용자 입력 값이 위험한 기능에 사용되는 지점에 먼저 할당되는 지점에서 통화 경로를 설명합니다.
다음 환경에서 작동하는 것으로 확인되었습니다.
gradlew build 실행하면 phpscan-1.0-snapshot 디렉토리가 생성됩니다.
이 예에서는 CMS 플러그인을 검사하는 방법을 설명합니다.
phpscan-1.0-SNAPSHOT/bin/phpscan 실행되면 플러그인 디렉토리의 PHP 파일을 검사합니다.작동 설정은 setting.properties를 사용하여 이루어집니다.
검사 할 PHP 파일이있는 디렉토리로가는 경로를 지정합니다.
Entry_Point_Path 또는 Entry_Point_Parent_Path를 입력해야합니다.
다중 Entry_point_Paths가 존재할 때 사용됩니다.
Entry_point_Path 그룹을 하나의 디렉토리에 배치 하고이 항목의 디렉토리 경로를 지정하여 Entry_Point_Path 그룹을 검사 할 수 있습니다.
예를 들어, 여러 플러그인을 동시에 검사하려면 플러그인 디렉토리가있는 디렉토리의 경로를 지정하십시오.
Entry_Point_Path 또는 Entry_Point_Parent_Path를 입력해야합니다.
검사 할 PHP 파일을 실행하는 데 필요한 PHP 파일이있는 디렉토리의 경로를 지정하십시오.
이 디렉토리의 PHP 파일은 검사 대상이 아닙니다.
예를 들어 CMS 플러그인을 검사하는 경우이 항목의 CMS 자체의 디렉토리 경로를 지정하십시오.
지정되지 않은 경우 값 중 하나 Entry_Point_Path 및 Entry_Point_Parent_Path가 사용됩니다.
php.ini 파일의 경로를 지정하십시오.
이들은 필수 필드입니다.
검사에서 제외 할 PHP 파일의 경로가 포함 된 텍스트 파일의 경로를 지정하십시오.
정규 표현식을 사용하여 수표에서 제외 할 경로를 지정하십시오.
여러 항목을 쉼표로 구분할 수 있습니다.
애플리케이션이 SQL 문에서 문자열을 벗어나는 자체 함수를 구현하는 경우 함수 이름을 지정하십시오.
여러 항목을 쉼표로 구분할 수 있습니다.
응용 프로그램이 HTML 문자열을 벗어난 자체 기능을 구현하는 경우 기능 이름을 지정하십시오.
여러 항목을 쉼표로 구분할 수 있습니다.
검사에서 제외 될 취약성 범주를 지정합니다.
지정된 범주는 검사 보고서에 표시되지 않습니다.
가능한 값은 다음과 같습니다.
여러 항목을 쉼표로 구분할 수 있습니다.
여기에는 PHP 파일로 인식되는 확장자가 나와 있습니다.
여러 항목을 쉼표로 구분할 수 있습니다.
지정되지 않으면 PHP 및 Inc의 두 확장자가 PHP 파일로 인식됩니다.
응용 프로그램에서 사용중인 프레임 워크 CMS를 지정합니다.
이를 지정함으로써 테스트의 포괄적 성을 향상시킬 수 있습니다.
가능한 값은 다음과 같습니다.
여러 항목을 쉼표로 구분할 수 있습니다.
다음 사이트에 나열된 모든 취약점은 PHPSCAN에서 PHP 관련 품목이 발견되었습니다.
http://jvndb.jvn.jp/search/index.php?mode=_vulnerability_search_ia_vulnsearch&lang=ja&usesynonym=1&keyword=%90%F3%88%E41%40%8C%92
PHP7 기능과 호환되지 않습니다.
이 소프트웨어는 MIT 라이센스에 따라 릴리스됩니다. License.txt를 참조하십시오.