Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
php2shell-scanner — Scanner haute fidélité pour php2shell (CVE-2026-109618 et CVE-2026-109619) | Kitploit
Outils/GitHubGitHub/assetnote/php2shell-scanner
Outils DéfensifsReconnaissanceScanners de VulnérabilitésScanners de Vulnérabilités WebAnalyse des VulnérabilitésSécurité WebTests d'Intrusion
GitHubassetnote/php2shell-scanner

php2shell-scanner

Scanner haute fidélité pour php2shell (CVE-2026-109618 et CVE-2026-109619)

Voir le dépôt
1112021il y a 16h 32mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

php2shell-scanner

Un outil en ligne de commande pour détecter CVE-2026-109618 et CVE-2026-109619 dans les applications PHP.

Fonctionnement

Le scanner envoie une requête de contrôle multipart minimale suivie de jusqu'à trois sondes multipart élaborées. Les sondes utilisent des clés de tableau PHP imbriquées sur 62 niveaux et augmentent de 1 MiB à 20 MiB, correspondant à la logique de détection utilisée par le scanner interne d'Assetnote.

Une cible est signalée comme vulnérable lorsque la sonde produit une erreur d'épuisement de mémoire PHP, un HTTP 500 vide différentiel, une défaillance de worker PHP-FPM, ou une version PHP annoncée connue comme non corrigée. Les réponses 5xx initiales, les statuts courants de rejet de requête et les réponses HTTP 500 non vides sans la signature d'erreur fatale PHP ne sont pas traitées comme des signaux de plantage.

Le scanner teste /index.php par défaut. Un chemin fourni dans l'URL est conservé, et --path ou --path-file permettent de tester des chemins personnalisés. Les cibles phpMyAdmin sont automatiquement retestées sur /show_config_errors.php. Les redirections ne sont pas suivies.

Modes SAPI

Le mode par défaut --sapi auto applique à la fois les règles de verdict mod_php et PHP-FPM, correspondant au comportement combiné des postmodules d'Assetnote. Utilisez --sapi mod_php ou --sapi fpm pour restreindre la détection à un SAPI connu.

Impact réseau

Chaque chemin testé peut recevoir une requête de contrôle de 42 octets et trois sondes totalisant environ 29 MiB. Le sondage s'arrête dès que le verdict est établi, et les URL d'entrée en double ne sont scannées qu'une seule fois.

Prérequis

  • Python 3.9+
  • h11
  • tqdm

Installation

pip install -r requirements.txt

Utilisation

Analyser un seul hôte :

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

Analyser une liste d'hôtes :

python3 scanner.py -l hosts.txt

Analyser avec plusieurs threads et enregistrer les résultats :

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

Analyse avec des en-têtes personnalisés :

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

Analyser un chemin personnalisé :

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

Utilisez uniquement les règles de verdict PHP-FPM :

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

Options

-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)

Crédits

La première découverte originale de php2shell est attribuée à l'équipe Calif. Vous pouvez lire leur analyse ici : https://calif.io/php2shell/.

Le scanner a été développé par l'Assetnote Security Research Team en utilisant une logique conçue pour la plateforme d'exposition de Searchlight.

Sortie

Les résultats sont affichés dans le terminal. Lors de l'utilisation de -o, les hôtes vulnérables sont enregistrés dans un fichier JSON avec la raison du verdict et les preuves de requête/réponse HTTP expurgées.

Limitations

Sur certaines configurations PHP spécifiques, le scanner peut signaler un faux positif lorsque sa sonde multipart dépasse la memory_limit de PHP. Les versions corrigées et vulnérables peuvent alors renvoyer la même réponse HTTP 500 vide.

Ce comportement a été reproduit sur PHP 8.4.27 corrigé avec des valeurs de memory_limit allant de 2M à 32M, et sur PHP 8.3.36 à 128M lorsque max_multipart_body_parts est défini à 2785 ou plus. Le seuil exact peut varier selon les builds.

Lorsque PHP ne divulgue pas sa version, le scanner ne peut pas distinguer cette OOM sûre post-correctif du comportement vulnérable pré-correctif. Les résultats doivent donc être vérifiés par rapport à la version de PHP installée et à tout rétroportage du fournisseur.

Télécharger l’outil