
PoC pubblico per CVE-2025-25257: FortiWeb pre-auth SQLi to RCE
Disclaimer: Questa proof-of-concept (PoC) è fornita esclusivamente per test di sicurezza autorizzati e scopi di ricerca. L'uso non autorizzato contro sistemi di cui non si possiede o non si ha esplicito permesso di test è illegale. Gli utenti sono responsabili di conformarsi a tutte le leggi e normative applicabili.
CVE-2025-25257 è una vulnerabilità critica in Fortinet FortiWeb, un firewall per applicazioni web, all'interno del componente Fabric Connector. Consente agli attaccanti di eseguire comandi di sistema arbitrari senza autenticazione, rappresentando un grave rischio di compromissione totale del sistema.
| Intervallo di Versioni | Stato |
|---|---|
| 7.6.0 – 7.6.3 | Vulnerabile |
| 7.4.0 – 7.4.7 | Vulnerabile |
| 7.2.0 – 7.2.10 | Vulnerabile |
| 7.0.10 e precedenti | Vulnerabile |
Questa vulnerabilità deriva dalla gestione non sicura dell'intestazione HTTP Authorization: Bearer <token> nella funzione get_fabric_user_by_token(). A causa di una sanificazione insufficiente degli input, gli attaccanti possono iniettare comandi SQL dannosi (SQL Injection, CWE-89).
Impatto:
SELECT ... INTO OUTFILE, gli attaccanti possono scrivere file dannosi (ad es. webshell o script Python) sul server, consentendo il controllo completo del sistema.📥 Scarica l'Ultima Release (v1.0.0)
File inclusi:
CVE-2025-25257.py - Script exploit in PythonREADME.md - Documentazione completaexploit_workflow.svg - Diagramma del flusso di attaccoL'exploit segue questi passaggi, come illustrato nel diagramma Mermaid qui sotto (reso nativamente su GitHub) e nell'immagine statica exploit_workflow.svg:
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) sul server.User-Agent alla webshell, eseguendo comandi di sistema arbitrari.Riferimenti:
Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e scopi di ricerca. Assicurati di avere il permesso esplicito di testare il sistema target.
requests, argparsepip install requestspython3 cve_2025_25257.py -t https://target-ip
| Opzione | Descrizione |
|---|---|
-t | URL target (es., https://target-ip) |
-T | File contenente più URL target |
Post-Sfruttamento: Dopo uno sfruttamento riuscito, lo script restituisce l'URL della webshell (ad es., https://target-ip/webshell.php). I comandi possono essere inviati alla webshell tramite l'intestazione User-Agent utilizzando strumenti come curl o un browser.
python3 cve_2025_25257.py -t https://192.168.1.100 --proxy http://127.0.0.1:8080
Output: In caso di successo, lo script mostrerà:
[+] 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 è una vulnerabilità grave e facilmente sfruttabile in FortiWeb, che consente ad attaccanti non autenticati di ottenere il controllo completo del sistema. L'applicazione immediata delle patch è critica e le organizzazioni dovrebbero monitorare i segni di sfruttamento.
Supporti Visivi: Il diagramma Mermaid qui sopra viene renderizzato nativamente su GitHub. Il file statico exploit_workflow.svg (incluso nel repository) fornisce lo stesso flusso di lavoro per la visualizzazione offline o presentazioni, con grafica vettoriale scalabile per un rendering di alta qualità.
| Azione | Dettagli |
|---|
| Patch Immediata | Aggiornare a una versione corretta: 7.6.4+, 7.4.8+, 7.2.11+, o 7.0.11+ |
| Mitigazione Temporanea | Limitare o disabilitare l'accesso all'interfaccia di amministrazione HTTP/HTTPS |
| Rilevamento | - Monitorare le intestazioni Authorization per sintassi SQL- Utilizzare IDS/IPS per rilevare tentativi di SQL injection su /api/fabric/device/status- Verificare la presenza di file inaspettati (ad es., .php, .py o script CGI) |
--proxyInstradare il traffico attraverso un proxy (es., http://127.0.0.1:8080) |