php2shell-scan
URL 하나를 PHP2Shell 취약점(CVE-2026-109618/109619)에 대해 점검하고 판정 결과를 1행으로 반환합니다. 점검은 대상에 최대 약 29 MiB의 트래픽을 보내므로 점검이 승인된 자산에만 실행하세요. 쿼리를 취소하면 진행 중인 요청이 즉시 중단됩니다.
php2shell-scan url=값 [sapi=값] [timeout=값] [insecure=값]
- url=값
- 필수. 점검할 URL. 예: https://192.0.2.10/. 스킴을 생략하면 https://로 간주합니다.
- sapi=값
- 선택. 판정에 쓰는 크래시 신호 범위. auto(기본값)는 mod_php와 PHP-FPM 규칙을 모두 적용하고, mod_php 또는 fpm은 해당 규칙만 적용합니다.
- timeout=값
- 선택. 요청별 읽기 제한 시간(초). 기본값: 60.
- insecure=값
- 선택. t를 지정하면 TLS 인증서 검증을 생략합니다. 자체 서명 인증서를 쓰는 내부 자산에 사용합니다. 기본값: f.
출력 필드
| 필드 | 타입 | 이름 | 설명 |
|---|---|---|---|
| url | 문자열 | URL | 점검한 URL. 예: https://192.0.2.10:8080/ |
| verdict | 문자열 | 판정 | 예: VULNERABLE, FIXED, INCONCLUSIVE, NO_SIGNAL, ERROR |
| is_vulnerable | 불리언 | 취약 여부 | 취약하면 true, 아니면 false, 판정 불가 시 null. 예: true |
| sapi | 문자열 | SAPI | 예: mod_php, PHP-FPM, mod_php/PHP-FPM, unknown |
| powered_by | 문자열 | X-Powered-By | X-Powered-By 응답 헤더. 예: PHP/8.3.12 |
| php_version | 문자열 | PHP 버전 | X-Powered-By에서 추출한 PHP 버전. 예: 8.3.12 |
| reason | 문자열 | 판정 근거 | 판정에 이른 근거. 예: probe 2 (8 MiB, 1020 parts) crashed the request handler |
| probe_count | 32비트 정수 | 프로브 수 | 전송한 점검 프로브 수(0~3). 예: 3 |
| error | 문자열 | 오류 | 점검을 완료하지 못한 경우에만 표시. 예: control request failed: request timed out |