Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
php2shell-scanner — php2shell(CVE-2026-109618 및 CVE-2026-109619)용 고정밀 스캐너 | Kitploit
도구/GitHubGitHub/assetnote/php2shell-scanner
Defensive ToolsReconnaissanceVulnerability ScannersWeb Vulnerability ScannersVulnerability AnalysisWeb SecurityPenetration Testing
GitHubassetnote/php2shell-scanner

php2shell-scanner

php2shell(CVE-2026-109618 및 CVE-2026-109619)용 고정밀 스캐너

저장소 보기
111202014시간 53분 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

php2shell-scanner

PHP 애플리케이션에서 CVE-2026-109618 및 CVE-2026-109619를 탐지하기 위한 명령줄 도구입니다.

작동 방식

스캐너는 최소한의 멀티파트 제어 요청을 보낸 뒤 최대 세 개의 조작된 멀티파트 프로브를 전송합니다. 프로브는 62단계 깊이로 중첩된 PHP 배열 키를 사용하며 1 MiB에서 20 MiB까지 증가하는데, 이는 Assetnote의 내부 스캐너에서 사용하는 탐지 로직과 일치합니다.

프로브가 PHP 메모리 고갈 오류, 차별적인 빈 HTTP 500, PHP-FPM 워커 실패, 또는 패치되지 않은 것으로 알려진 PHP 버전을 나타낼 때 대상이 취약한 것으로 보고됩니다. 초기 5xx 응답, 일반적인 요청 거부 상태, 그리고 PHP 치명적 오류 시그니처가 없는 비어 있지 않은 HTTP 500 응답은 크래시 신호로 처리되지 않습니다.

스캐너는 기본적으로 /index.php를 테스트합니다. URL에 제공된 경로는 유지되며, --path 또는 --path-file을 사용하여 사용자 지정 경로를 테스트할 수 있습니다. phpMyAdmin 대상은 /show_config_errors.php에서 자동으로 재테스트됩니다. 리디렉션은 따르지 않습니다.

SAPI 모드

기본 --sapi auto 모드는 mod_php와 PHP-FPM 판정 규칙을 모두 적용하여 Assetnote의 postmodules의 결합된 동작과 일치합니다. --sapi mod_php 또는 --sapi fpm을 사용하여 탐지를 알려진 SAPI로 제한할 수 있습니다.

네트워크 영향

테스트되는 각 경로는 42바이트 제어 요청과 총 약 29 MiB에 달하는 세 개의 프로브를 수신할 수 있습니다. 판정이 확정되는 즉시 프로빙이 중단되며, 중복된 입력 URL은 한 번만 스캔됩니다.

요구 사항

  • Python 3.9+
  • h11
  • tqdm

설치

pip install -r requirements.txt

사용법

단일 호스트 스캔:

python3 scanner.py -u https://example.com

호스트 목록을 스캔합니다:

python3 scanner.py -l hosts.txt

여러 스레드로 스캔하고 결과 저장:

python3 scanner.py -l hosts.txt -t 20 -o results.json

사용자 지정 헤더로 스캔:

python3 scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"

사용자 지정 경로 스캔:

python3 scanner.py -u https://example.com --path /phpinfo.php
python3 scanner.py -u https://example.com --path /index.php --path /admin.php
python3 scanner.py -u https://example.com --path-file paths.txt

PHP-FPM 판정 규칙만 사용:

python3 scanner.py -u https://example.com --sapi fpm

옵션

-u, --url         Single URL to check
-l, --list        File containing hosts (one per line)
-t, --threads     Number of concurrent threads (default: 10)
--timeout         Request timeout in seconds (default: 60)
-o, --output      Output file for results (JSON)
--all-results     Save all results, not just vulnerable hosts
-k, --insecure    Disable TLS certificate verification
-H, --header      Custom header (can be used multiple times)
-v, --verbose     Show verdict reasons and response snippets
-q, --quiet       Only output vulnerable hosts
--no-color        Disable colored output
--sapi            Verdict rules: auto, mod_php, or fpm (default: auto)
--path            Custom path to test (can be used multiple times)
--path-file       File containing paths to test (one per line)

크레딧

php2shell의 최초 원본 발견은 Calif 팀에 기인합니다. 그들의 분석 글은 여기에서 확인할 수 있습니다: https://calif.io/php2shell/.

이 스캐너는 Assetnote 보안 연구팀이 Searchlight의 Exposure Platform을 위해 구축한 로직을 사용하여 개발했습니다.

출력

결과는 터미널에 출력됩니다. -o를 사용하면 취약한 호스트가 판정 사유와 마스킹된 HTTP 요청/응답 증거와 함께 JSON 파일로 저장됩니다.

제한 사항

특정 PHP 구성에서는 스캐너의 멀티파트 프로브가 PHP의 memory_limit을 초과할 때 오탐을 보고할 수 있습니다. 이 경우 패치된 버전과 취약한 버전이 동일한 빈 HTTP 500 응답을 반환할 수 있습니다.

이는 패치된 PHP 8.4.27에서 memory_limit 값을 2M에서 32M까지 설정하여 재현되었으며, PHP 8.3.36에서 max_multipart_body_parts를 2785 이상으로 설정하고 128M일 때도 재현되었습니다. 정확한 임계값은 빌드마다 다를 수 있습니다.

PHP가 버전을 공개하지 않는 경우, 스캐너는 이 안전한 패치 후 OOM과 취약한 패치 전 동작을 구분할 수 없습니다. 따라서 결과는 설치된 PHP 버전 및 벤더 백포트와 대조하여 검증해야 합니다.

도구 다운로드