php2shell-scanner

PHP2Shell 노출 점검

서버에서 직접 수집한 정보로 PHP가 CVE-2026-109618, CVE-2026-109619의 영향을 받는지 확인합니다. 배포판 백포트, 재시작 누락, 임시 완화 설정까지 반영합니다. 확인은 이 탭 안에서만 이루어지며, 붙여넣은 내용은 어디에도 전송되지 않습니다.

1수집

PHP 프로브

또는 서버에서 바로 받기

curl -fsSLO https://php2shell.sqzer.com/downloads/php2shell-selfcheck.php

  1. 파일 안의 $TOKEN을 영문자, 숫자, -, _로 이루어진 12자 이상의 임의 문자열로 바꿉니다. 예를 들어 openssl rand -hex 16의 출력을 쓰면 됩니다.
  2. 파일 이름을 추측하기 어렵게 바꿔 사이트의 웹 루트에 올립니다.
  3. https://<사이트>/<파일>.php?k=<TOKEN>을 한 번 엽니다. 실행 후 파일은 스스로 삭제를 시도하며, 삭제하지 못하면 출력에 그 사실을 표시합니다.
  4. vhost와 PHP-FPM 풀마다 반복합니다. 각각 다른 PHP를 쓸 수 있습니다.

2

3결과

아직 결과가 없습니다. 서버에서 정보를 수집하고 출력을 붙여넣은 뒤 결과를 확인하세요.

확인 결과 종류
패치됨업스트림 수정 릴리스 이상이거나, 두 수정이 모두 들어간 배포판 패키지입니다.
취약수정 릴리스보다 낮습니다. 지원 종료(EOL) 브랜치의 업스트림 빌드도 포함합니다.
수정 대기배포판이 CVE를 추적하고 있지만 수정 패키지를 아직 내놓지 않았습니다.
재시작 필요수정 패키지는 설치됐지만 실행 중인 PHP는 여전히 이전 빌드입니다.
판단 불가근거가 부족합니다. 근거 없이 안전하다는 결과를 내지 않습니다.

영향 릴리스

브랜치영향 범위수정 버전
배포판 패키지
배포판소스 패키지수정 버전
Red Hat 보안 권고

확인 방법

  1. 브랜치별 업스트림 수정 릴리스 이상이면 패치된 것으로 봅니다.
  2. Debian·Ubuntu 패키지는 dpkg 버전 비교 규칙으로 배포판 수정 버전과 비교합니다.
  3. RHEL 계열은 서버 스크립트가 수집한 패키지 변경 이력의 CVE 기록을 근거로 씁니다.
  4. 실행 중인 버전이 설치된 패키지보다 오래됐거나 PHP 프로세스가 삭제된 파일을 매핑하고 있으면 재시작 필요로 봅니다.
  5. deb.sury.org 빌드, 공식 Docker 이미지, 직접 빌드한 PHP는 업스트림 릴리스 기준으로 확인합니다.
  6. 임시 완화 설정은 보고만 하며 결과를 바꾸지 않습니다.
  7. 근거가 없으면 판단 불가로 두며, 안전하다는 결과를 내지 않습니다.

범위

이 페이지는 서버에 요청을 보내지 않습니다. 프로브는 버전, 패키지, 설정을 읽습니다. 서버 스크립트는 여기에 더해 패키지 변경 이력, 명령줄을 포함한 프로세스 목록, 각 PHP 프로세스가 매핑한 파일, PHP와 웹 서버 설정 파일을 읽습니다. --logs와 --webroot 옵션을 주면 로그, 세션 파일 크기, PHP 파일의 이름과 변경 날짜도 읽습니다. 터미널 출력에는 명령줄과 로그 내용이 나타날 수 있으며, 이 페이지에는 BEGIN 줄부터 END 줄까지만 붙여넣으면 됩니다.

확인 결과는 공격이 실패한다는 증명이 아닙니다. 업스트림 공식 권고와 배포판 보안 권고도 함께 확인하세요.