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-40275_Scanner — Scanner pour CVE-2024-40725 (divulgation de code source du serveur Apache HTTP) ; sonde les chemins directs et les sous-requêtes, identifie les versions affectées et génère des rapports JSON pour les pipelines CI/CD. | Kitploit
Outils/GitHubGitHub/burjoy/cve-2024-40275_scanner
Scanners de VulnérabilitésScanners de Vulnérabilités WebAnalyse des VulnérabilitésSécurité WebMauvaise Configuration
GitHubburjoy/cve-2024-40275_scanner

CVE-2024-40275_Scanner

Scanner pour CVE-2024-40725 (divulgation de code source du serveur Apache HTTP) ; sonde les chemins directs et les sous-requêtes, identifie les versions affectées et génère des rapports JSON pour les pipelines CI/CD.

Voir le dépôt
5il y a 22 joursPas 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

Scanner CVE-2024-40725

Un outil de détection basé sur Python pour CVE-2024-40725, une vulnérabilité de divulgation de code source du serveur Apache HTTP affectant les versions 2.4.0 et 2.4.61.

Avis juridique : N'exécutez ce scanner que sur des serveurs dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation écrite explicite de test. Toute utilisation non autorisée peut enfreindre les lois sur la fraude informatique (par exemple, CFAA, Computer Misuse Act).


Contexte

CVE-2024-40725 est une régression dans le pipeline interne de requêtes d'Apache, introduite dans la version 2.4.0 (en tant que correctif incomplet pour CVE-2024-39884). Lorsqu'un serveur est configuré avec des directives AddType héritées (par exemple, AddType application/x-httpd-php .php), l'affectation interne du gestionnaire d'Apache est silencieusement abandonnée pendant le traitement des sous-requêtes (déclenché par DirectoryIndex, mod_rewrite ou mod_dir).

Par conséquent, l'interpréteur de scripts PHP n'est jamais invoqué. À la place, le default-handler intégré d'Apache ouvre le fichier depuis le disque et en diffuse les octets bruts, y compris les identifiants de base de données, les clés API et la logique applicative, directement au client.

Versions affectées : Apache httpd 2.4.0 – 2.4.61
Corrigé dans : Apache httpd 2.4.62+


Prérequis

  • Python 3.8+
  • Bibliothèque requests
root@kitploit:~
pip install requests

Installation

root@kitploit:~
# Clone or download the scanner
curl -O https://your-host/cve_2024_40725_scanner.py

# Make executable (optional)
chmod +x cve_2024_40725_scanner.py

Utilisation

root@kitploit:~
python3 cve_2024_40725_scanner.py --target <URL> [OPTIONS]

Options

OptionTypeDéfautDescription
--targetURL(obligatoire)URL de base du serveur Apache à tester
--pathsCHEMIN [CHEMIN ...]liste intégréeUn ou plusieurs chemins PHP à sonder directement
--wordlistFICHIER—Chemin vers un fichier de liste de mots (un chemin par ligne)
--no-directory-checkdrapeaudésactivéIgnorer la sonde de sous-requête/index de répertoire (sonde B)
--timeoutint (secondes)10Délai d'expiration par requête
--delayfloat (secondes)0.0Délai entre les requêtes (limitation de débit)
--no-verify-ssldrapeaudésactivéDésactiver la vérification des certificats SSL
--outputFICHIER—Écrire un rapport JSON complet dans ce fichier
--verbosedrapeaudésactivéActiver la sortie de débogage

Exemples

root@kitploit:~
# Quickstart: scan localhost with built-in default paths
python3 cve_2024_40725_scanner.py --target http://localhost

# Scan specific paths
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --paths /index.php /admin/config.php /wp-config.php

# Use a wordlist file
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --wordlist php_paths.txt

# Combine wordlist + extra inline paths (merged, deduplicated)
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --wordlist php_paths.txt \
  --paths /extra/secret.php

# HTTPS with self-signed certificate
python3 cve_2024_40725_scanner.py \
  --target https://myserver.local \
  --no-verify-ssl

# Polite scan with 1 second delay and JSON report
python3 cve_2024_40725_scanner.py \
  --target http://myserver.local \
  --wordlist php_paths.txt \
  --delay 1.0 \
  --output results.json \
  --verbose

# CI/CD usage (exit code 1 = vulnerable, 0 = clean)
python3 cve_2024_40725_scanner.py --target http://localhost || echo "VULNERABLE"

Format de la liste de mots

Un chemin par ligne. Les lignes commençant par # sont traitées comme des commentaires et ignorées. Les lignes vides sont ignorées. Les barres obliques initiales sont normalisées automatiquement.

root@kitploit:~
# Common PHP entrypoints
/index.php
/info.php
/phpinfo.php

# Admin panels
/admin/index.php
/admin/config.php

# CMS files
/wp-config.php
/wp-login.php
/configuration.php

# API internals
/api/v1/status.php

Fonctionnement

Le scanner exécute deux sondes par chemin :

Sonde A — Requête directe du fichier

root@kitploit:~
GET /index.php HTTP/1.1

Vérifie si une requête directe du fichier PHP renvoie son code source brut. Le serveur est affecté dans les configurations où AddType est cassé, même pour les requêtes directes.

Sonde B — Déclenchement par sous-requête (le vecteur réel de la CVE)

root@kitploit:~
GET / HTTP/1.1

Envoie une requête au répertoire parent au lieu du fichier lui-même. Apache résout en interne DirectoryIndex → index.php, ce qui génère une sous-requête. C'est exactement le chemin de code où r->handler est remis à NULL dans Apache 2.4.0–2.4.61.

La sonde B est le test le plus important et le plus réaliste. De nombreux serveurs ne sont vulnérables que par le chemin de sous-requête, pas par le chemin de fichier direct.

Détection de fuite

Le scanner examine le corps de la réponse à la recherche de signatures de code source PHP :

  • <?php
  • <?PHP
  • <?=

Lorsqu'une correspondance est trouvée, il extrait un extrait de 150 caractères autour de l'emplacement de la fuite pour le triage, sans imprimer l'intégralité du corps de la réponse.

Empreinte du serveur

Lit l'en-tête de réponse Server: pour détecter la version d'Apache. Signale les serveurs annonçant la version 2.4.0 ou 2.4.61, même avant qu'une fuite ne soit confirmée.

Remarque : Les serveurs durcis peuvent supprimer l'en-tête Server: (ServerTokens Prod). Le scanner exécute néanmoins toutes les sondes.


Sortie

Exemple de sortie terminal

root@kitploit:~
============================================================
  CVE-2024-40725 -- Apache Source Code Disclosure Scanner
============================================================
  Target : http://localhost
  Paths  : 6
  Time   : 2024-08-01T12:00:00

  [*] Fingerprinting server: http://localhost
      Server Header : Apache/2.4.61 (Debian)
      Apache Version: 2.4.61
      [!] Version is in vulnerable range (2.4.0 - 2.4.61)

  [*] Testing 6 path(s)...

  --- /index.php
      Direct  (HTTP 200): OK
      Subreq  (HTTP 200): LEAKED
      [!] VULNERABLE via: subrequest (directory index)
         Leaked snippet: '<?php\n$db_pass = "supersecretpassword";'

  --- /info.php
      Direct  (HTTP 404): OK
      Subreq  (HTTP 404): OK
      [+] Safe

============================================================
  SCAN SUMMARY
============================================================
  Target            : http://localhost
  Apache Version    : 2.4.61
  Paths Tested      : 6
  Vulnerable Paths  : 1
  Safe Paths        : 5

  [!] RESULT: VULNERABLE
      Vulnerable paths:
        * /index.php  (trigger: subrequest (directory index))

  Remediation:
    1. Upgrade to Apache httpd >= 2.4.62
    2. Replace 'AddType' with 'SetHandler' in <FilesMatch> blocks
============================================================

Structure du rapport JSON (--output results.json)

root@kitploit:~
{
  "target": "http://localhost",
  "scan_time": "2024-08-01T12:00:00",
  "apache_version": "2.4.61",
  "apache_in_range": true,
  "paths_tested": 6,
  "vulnerable_paths": [
    {
      "path": "/index.php",
      "direct_url": "http://localhost/index.php",
      "directory_url": "http://localhost/",
      "direct_status": 200,
      "direct_leaked": false,
      "direct_snippet": null,
      "directory_status": 200,
      "directory_leaked": true,
      "directory_snippet": "<?php\n$db_pass = \"supersecretpassword\";",
      "server_header": "Apache/2.4.61 (Debian)",
      "vulnerable": true,
      "trigger": "subrequest (directory index)"
    }
  ],
  "safe_paths": [...]
}

Codes de sortie

CodeSignification
0Aucun chemin vulnérable détecté
1Un ou plusieurs chemins vulnérables trouvés

Les codes de sortie rendent le scanner adapté à une utilisation dans les pipelines CI/CD et les audits automatisés d'infrastructure.


Remédiation

Option 1 : Mettre à niveau Apache (recommandé)

root@kitploit:~
# Debian / Ubuntu
sudo apt update && sudo apt install apache2

# RHEL / CentOS / AlmaLinux
sudo dnf update httpd

# Verify version (must be >= 2.4.62)
apache2 -v

Option 2 : Remplacer AddType par SetHandler

Remplacez toutes les directives AddType utilisées pour l'exécution de PHP :

root@kitploit:~
# ❌ Vulnerable Configs
AddType application/x-httpd-php .php

# ✅ Safe Configs
<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
</FilesMatch>

Référence des configurations vulnérables et sûres

root@kitploit:~
# VULNERABLE
<VirtualHost *:80>
    DocumentRoot /var/www/html
    AddType application/x-httpd-php .php     # ← triggers CVE
    DirectoryIndex index.php
</VirtualHost>

# SAFE
<VirtualHost *:80>
    DocumentRoot /var/www/html
    <FilesMatch "\.php$">
        SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
    </FilesMatch>
    DirectoryIndex index.php
</VirtualHost>

CVE associées

CVEVersionDescription
CVE-2024-398842.4.0Régression originale de divulgation de code source
CVE-2024-407252.4.61Correctif incomplet — même classe de bug
CVE-2024-408982.4.61SSRF distincte dans mod_rewrite (Windows uniquement)
Télécharger l’outil