PHP2Shell 노출 점검
서버에서 직접 수집한 정보로 PHP가 CVE-2026-109618, CVE-2026-109619의 영향을 받는지 확인합니다. 배포판 백포트, 재시작 누락, 임시 완화 설정까지 반영합니다. 확인은 이 탭 안에서만 이루어지며, 붙여넣은 내용은 어디에도 전송되지 않습니다.
1수집
PHP 프로브
또는 서버에서 바로 받기
curl -fsSLO https://php2shell.sqzer.com/downloads/php2shell-selfcheck.php- 파일 안의
$TOKEN을 영문자, 숫자,-,_로 이루어진 12자 이상의 임의 문자열로 바꿉니다. 예를 들어openssl rand -hex 16의 출력을 쓰면 됩니다. - 파일 이름을 추측하기 어렵게 바꿔 사이트의 웹 루트에 올립니다.
https://<사이트>/<파일>.php?k=<TOKEN>을 한 번 엽니다. 실행 후 파일은 스스로 삭제를 시도하며, 삭제하지 못하면 출력에 그 사실을 표시합니다.- vhost와 PHP-FPM 풀마다 반복합니다. 각각 다른 PHP를 쓸 수 있습니다.
서버 스크립트
또는 서버에서 바로 받기
curl -fsSLO https://php2shell.sqzer.com/downloads/php2shell-server-check.sh && sha256sum php2shell-server-check.sh내용을 확인한 뒤 실행
sudo sh php2shell-server-check.sh --logs- POSIX sh로 작성됐고 읽기만 하며 네트워크에 접속하지 않습니다. 실행하기 전에 출력된 해시를 위에 표시된 값(SHA256SUMS에도 있음)과 비교하고 스크립트 내용을 읽어 보세요.
- 설치된 PHP 패키지와 변경 이력의 CVE 기록, 업데이트로 교체된 파일을 아직 쓰는 PHP 프로세스를 출력합니다.
--logs는 웹 서버, PHP-FPM, 커널 로그에서 침해 지표를 찾고,--webroot DIR은 최근 3일 안에 바뀐 PHP 파일을 보여 줍니다.- 다른 계정의 프로세스까지 확인하려면 root로 실행하세요.
응답 헤더
curl -sI https://<사이트>/ | grep -i x-powered-by- 서버에 접근할 수 없을 때만 쓰세요.
- 헤더가 노출된 경우에만 동작하며, 그 URL을 처리한 PHP 하나만 알 수 있습니다.
- 헤더에 담긴 Debian·Ubuntu 패키지 리비전은 인식하지만 설정, 다른 vhost, 재시작 여부는 알 수 없습니다.
3결과
아직 결과가 없습니다. 서버에서 정보를 수집하고 출력을 붙여넣은 뒤 결과를 확인하세요.
| 패치됨 | 업스트림 수정 릴리스 이상이거나, 두 수정이 모두 들어간 배포판 패키지입니다. |
|---|---|
| 취약 | 수정 릴리스보다 낮습니다. 지원 종료(EOL) 브랜치의 업스트림 빌드도 포함합니다. |
| 수정 대기 | 배포판이 CVE를 추적하고 있지만 수정 패키지를 아직 내놓지 않았습니다. |
| 재시작 필요 | 수정 패키지는 설치됐지만 실행 중인 PHP는 여전히 이전 빌드입니다. |
| 판단 불가 | 근거가 부족합니다. 근거 없이 안전하다는 결과를 내지 않습니다. |