
웹사이트의 PHP 버전 또는 로컬 PHP 바이너리를 내장된 패치 기준과 비교하여 php2shell 취약점 상태를 판별하는 CLI로, JSON 출력과 종료 코드를 제공합니다.
웹사이트 또는 로컬 PHP 바이너리가 php2shell에 취약한지 확인합니다.
두 스킬을 모두 설치하려면 Codex에 다음과 같이 요청하세요:
$skill-installer install both skills from https://github.com/openai/php2shell-checker
서버 접근 권한이 있는 경우 phpcheck-server를, URL만 있는 경우 phpcheck-url을 사용하세요:
$phpcheck-url check https://example.com
$phpcheck-server check the PHP version serving my site
웹사이트 확인:
node phpcheck.js "https://example.com"
로컬 CLI PHP 확인
node phpcheck.js --local
| 결과 | 종료 코드 | 의미 |
|---|---|---|
OK | 0 | 나열된 메이저/마이너 브랜치에 대해 내장된 기준 버전보다 높은 안정 패치 버전입니다. |
VULNERABLE | 1 | 해당 브랜치의 내장된 기준 버전 이하인 PHP 버전입니다. |
UNKNOWN | 3 | PHP 버전 또는 응답이 없거나, 인식할 수 없는 버전/브랜치이거나, 더 새로운 프리릴리스 빌드입니다. |
기계 판독 가능한 출력에는 --json을 사용하세요 (patch_status는 ok, vulnerable, 또는 unknown). 잘못된 인수는 종료 코드 2로 종료됩니다.
node --test phpcheck.test.js
테스트는 로컬 HTTP 서버와 가짜 PHP 실행 파일에 대해 CLI를 실행합니다. PHP 설치나 외부 웹사이트는 필요하지 않습니다.
이 검사기는 HTTP 응답 헤더에 노출되거나 php -v로 표시되는 버전만 평가합니다. X-Powered-By와 Server를 읽고, HEAD를 전송하며, HEAD가 405 또는 501을 반환할 때만 GET으로 대체합니다. 리다이렉트를 따르거나 응답 본문을 검사하지 않습니다. PHP 헤더가 없거나 숨겨져 있으면 UNKNOWN을 반환합니다.
OK는 나열된 각 브랜치의 후속 안정 패치에 수정 사항이 포함되어 있다는 가정에 기반한 버전 비교입니다.
보안 수정 사항을 독립적으로 검증하지는 않습니다. 공식 PHP 보안 릴리스와 버전을 대조해 확인하세요. 헤더는 숨겨지거나 변경될 수 있으며, 배포판 백포트는 업스트림 버전을 변경하지 않을 수 있습니다. UNKNOWN은 대상이 패치되었다는 의미가 아닙니다!
OpenAI는 이 프로젝트에 대한 외부 코드 기여를 받지 않습니다. 버그 보고 및 비코드 피드백은 GitHub 이슈를 통해 환영합니다. CONTRIBUTING.md를 참조하세요.
이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여됩니다.