
Öffentlicher PoC für CVE-2025-25257: FortiWeb Pre-Auth-SQLi zu RCE
Haftungsausschluss: Dieser Proof-of-Concept (PoC) wird ausschließlich für autorisierte Sicherheitstests und Forschungszwecke bereitgestellt. Die unbefugte Verwendung gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben, ist illegal. Die Benutzer sind für die Einhaltung aller geltenden Gesetze und Vorschriften verantwortlich.
CVE-2025-25257 ist eine kritische Schwachstelle in Fortinet FortiWeb, einer Web Application Firewall, in der Fabric-Connector-Komponente. Sie ermöglicht es Angreifern, ohne Authentifizierung beliebige Systembefehle auszuführen, was ein schwerwiegendes Risiko der vollständigen Systemübernahme darstellt.
| Version Range | Status |
|---|---|
| 7.6.0 – 7.6.3 | Verwundbar |
| 7.4.0 – 7.4.7 | Verwundbar |
| 7.2.0 – 7.2.10 | Verwundbar |
| 7.0.10 und früher | Verwundbar |
Diese Schwachstelle beruht auf der unsicheren Verarbeitung des HTTP-Headers Authorization: Bearer <token> in der Funktion get_fabric_user_by_token(). Aufgrund unzureichender Eingabebereinigung können Angreifer bösartige SQL-Befehle einschleusen (SQL-Injection, CWE-89).
Auswirkungen:
SELECT ... INTO OUTFILE können Angreifer schädliche Dateien (z. B. Webshells oder Python-Skripte) auf dem Server ablegen, was eine vollständige Systemkontrolle ermöglicht.Enthaltene Dateien:
CVE-2025-25257.py - Python-Exploit-SkriptREADME.md - Vollständige Dokumentationexploit_workflow.svg - Diagramm des AngriffsablaufsDer Exploit durchläuft die folgenden Schritte, wie im Mermaid-Diagramm unten (nativ auf GitHub gerendert) und im statischen Bild exploit_workflow.svg dargestellt:
graph TD
A[Attacker] --> B[Target Endpoint]
B --> C[SQL Injection]
C --> D[Webshell Creation]
D --> E[Command Execution]
E --> F[System Compromise]/api/fabric/device/status.webshell.php) auf den Server.User-Agent-Header an die Webshell und führt so beliebige Systembefehle aus.| Aktion | Details |
|---|---|
| Sofort patchen | Upgrade auf eine behobene Version: 7.6.4+, 7.4.8+, 7.2.11+ oder 7.0.11+ |
| Temporäre Abschwächung | Zugriff auf die HTTP/HTTPS-Administrationsoberfläche einschränken oder deaktivieren |
| Erkennung | - Authorization-Header auf SQL-Syntax überwachen- IDS/IPS verwenden, um SQL-Injection-Versuche auf /api/fabric/device/status zu erkennen- Nach unerwarteten Dateien suchen (z. B. .php, .py oder CGI-Skripte) |
Referenzen:
Dieses Tool dient ausschließlich autorisierten Sicherheitstests und Forschungszwecken. Stellen Sie sicher, dass Sie eine ausdrückliche Erlaubnis zum Testen des Zielsystems haben.
requests, argparsepip install requestspython3 cve_2025_25257.py -t https://target-ip
| Option | Beschreibung |
|---|---|
-t | Ziel-URL (z. B. https://target-ip) |
-T | Datei mit mehreren Ziel-URLs |
--proxy | Datenverkehr über einen Proxy leiten (z. B. http://127.0.0.1:8080) |
Post-Exploitation: Nach erfolgreicher Ausnutzung gibt das Skript die Webshell-URL aus (z. B. https://target-ip/webshell.php). Befehle können über den User-Agent-Header mithilfe von Tools wie curl oder einem Browser an die Webshell gesendet werden.
python3 cve_2025_25257.py -t https://192.168.1.100 --proxy http://127.0.0.1:8080
Ausgabe: Bei Erfolg zeigt das Skript Folgendes an:
[+] Webshell deployed at: https://192.168.1.100/webshell.php
[+] Send commands via User-Agent header, e.g., `curl -A "whoami" https://192.168.1.100/webshell.php`
CVE-2025-25257 ist eine schwerwiegende, leicht ausnutzbare Schwachstelle in FortiWeb, die es nicht authentifizierten Angreifern ermöglicht, die vollständige Systemkontrolle zu erlangen. Sofortiges Patchen ist entscheidend, und Organisationen sollten auf Anzeichen einer Ausnutzung achten.
Visuelle Hilfen: Das Mermaid-Diagramm oben wird nativ auf GitHub gerendert. Das statische exploit_workflow.svg (im Repository enthalten) stellt denselben Ablauf für die Offline-Anzeige oder Präsentationen bereit, mit skalierbarer Vektorgrafik für eine hochwertige Darstellung.