Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-40275_Scanner — Scanner für CVE-2024-40725 Apache HTTP Server Quellcode-Offenlegung; prüft direkte und Subrequest-Pfade, identifiziert betroffene Versionen anhand von Fingerabdrücken und gibt JSON-Berichte für CI/CD aus. | Kitploit
Tools/GitHubGitHub/burjoy/cve-2024-40275_scanner
SchwachstellenscannerWeb-SchwachstellenscannerSchwachstellenanalyseWebsicherheitFehlkonfiguration
GitHubburjoy/cve-2024-40275_scanner

CVE-2024-40275_Scanner

Scanner für CVE-2024-40725 Apache HTTP Server Quellcode-Offenlegung; prüft direkte und Subrequest-Pfade, identifiziert betroffene Versionen anhand von Fingerabdrücken und gibt JSON-Berichte für CI/CD aus.

Repository anzeigen
5vor 22 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2024-40725 Scanner

Ein Python-basiertes Erkennungstool für CVE-2024-40725, eine Schwachstelle zur Offenlegung von Quellcode im Apache HTTP Server, die die Versionen 2.4.0 und 2.4.61 betrifft.

Rechtlicher Hinweis: Führen Sie diesen Scanner nur gegen Server aus, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen besitzen. Unbefugte Nutzung kann gegen Gesetze zur Computerkriminalität verstoßen (z. B. CFAA, Computer Misuse Act).


Hintergrund

CVE-2024-40725 ist eine Regression in der internen Anfrage-Pipeline von Apache, die in Version 2.4.0 eingeführt wurde (als unvollständiger Fix für CVE-2024-39884). Wenn ein Server mit veralteten AddType-Direktiven konfiguriert ist (z. B. AddType application/x-httpd-php .php), wird die interne Handler-Zuweisung von Apache während der Subrequest-Verarbeitung stillschweigend verworfen (ausgelöst durch DirectoryIndex, mod_rewrite oder mod_dir).

Dadurch wird der PHP-Skript-Interpreter nie aufgerufen. Stattdessen öffnet der integrierte default-handler von Apache die Datei von der Festplatte und streamt ihre Rohbytes – einschließlich Datenbank-Zugangsdaten, API-Schlüsseln und Anwendungslogik – direkt an den Client.

Betroffene Versionen: Apache httpd 2.4.0 – 2.4.61
Behoben in: Apache httpd 2.4.62+


Voraussetzungen

  • Python 3.8+
  • requests-Bibliothek
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

Verwendung

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

Optionen

FlagTypStandardBeschreibung
--targetURL(erforderlich)Basis-URL des zu testenden Apache-Servers
--pathsPfad [Pfad ...]integrierte ListeEin oder mehrere PHP-Pfade, die direkt untersucht werden sollen
--wordlistDatei—Pfad zu einer Wordlist-Datei (ein Pfad pro Zeile)
--no-directory-checkFlagausSubrequest-/Directory-Index-Probe (Probe B) überspringen
--timeoutint (Sekunden)10Timeout pro Anfrage
--delayfloat (Sekunden)0.0Verzögerung zwischen Anfragen (Ratenbegrenzung)
--no-verify-sslFlagausSSL-Zertifikatsprüfung deaktivieren
--outputDatei—Vollständigen JSON-Bericht in diese Datei schreiben
--verboseFlagausDebug-Ausgabe aktivieren

Beispiele

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"

Wordlist-Format

Ein Pfad pro Zeile. Zeilen, die mit # beginnen, werden als Kommentare behandelt und übersprungen. Leere Zeilen werden ignoriert. Führende Schrägstriche werden automatisch normalisiert.

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

Funktionsweise

Der Scanner führt zwei Proben pro Pfad aus:

Probe A — Direkte Dateianfrage

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

Prüft, ob das direkte Anfordern der PHP-Datei deren rohen Quellcode zurückgibt. Betroffen sind falsch konfigurierte Server, bei denen AddType selbst bei direkten Anfragen nicht funktioniert.

Probe B — Subrequest-Auslösung (der eigentliche CVE-Pfad)

root@kitploit:~
GET / HTTP/1.1

Fragt das übergeordnete Verzeichnis statt der Datei selbst an. Apache löst intern DirectoryIndex → index.php auf und erzeugt einen Subrequest. Dies ist exakt der Codepfad, in dem r->handler in Apache 2.4.0–2.4.61 auf NULL gesetzt wird.

Probe B ist der wichtigere und realistischere Test. Viele Server sind nur über den Subrequest-Pfad angreifbar, nicht über den direkten Dateipfad.

Leck-Erkennung

Der Scanner prüft den Antwortkörper auf Signaturen von PHP-Quellcode:

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

Wird ein Treffer gefunden, extrahiert er einen 150-Zeichen-Ausschnitt um die Leckstelle zur Sichtung, ohne den gesamten Antwortkörper auszugeben.

Server-Fingerprinting

Liest den Server:-Antwortheader, um die Apache-Version zu erkennen. Markiert Server, die Version 2.4.0 oder 2.4.61 melden, bereits vor einem bestätigten Leck.

Hinweis: Gehärtete Server können den Server:-Header unterdrücken (ServerTokens Prod). Der Scanner führt unabhängig davon weiterhin alle Proben aus.


Ausgabe

Beispiel für Terminalausgabe

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

Struktur des JSON-Berichts (--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": [...]
}

Exit-Codes

CodeBedeutung
0Keine verwundbaren Pfade erkannt
1Ein oder mehrere verwundbare Pfade gefunden

Dank der Exit-Codes eignet sich der Scanner für den Einsatz in CI/CD-Pipelines und automatisierte Infrastruktur-Audits.


Behebung

Option 1: Apache aktualisieren (empfohlen)

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: AddType durch SetHandler ersetzen

Ersetzen Sie alle AddType-Direktiven, die für die PHP-Ausführung verwendet werden:

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>

Referenz: Verwundbare vs. sichere Konfiguration

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>

Verwandte CVEs

CVEVersionBeschreibung
CVE-2024-398842.4.0Ursprüngliche Regression mit Quellcode-Offenlegung
CVE-2024-407252.4.61Unvollständiger Fix — gleiche Fehlerklasse
CVE-2024-408982.4.61Separate SSRF in mod_rewrite (nur Windows)
Tool herunterladen