
PoC público para CVE-2025-25257: FortiWeb SQLi pré-autenticação para RCE
Aviso legal: Esta prova de conceito (PoC) é fornecida apenas para fins autorizados de teste de segurança e pesquisa. O uso não autorizado contra sistemas que você não possui ou não tem permissão explícita para testar é ilegal. Os usuários são responsáveis por cumprir todas as leis e regulamentos aplicáveis.
CVE-2025-25257 é uma vulnerabilidade crítica no Fortinet FortiWeb, um firewall de aplicação web, em seu componente Fabric Connector. Permite que atacantes executem comandos arbitrários do sistema sem autenticação, representando um risco severo de comprometimento total do sistema.
| Faixa de Versão | Status |
|---|---|
| 7.6.0 – 7.6.3 | Vulnerável |
| 7.4.0 – 7.4.7 | Vulnerável |
| 7.2.0 – 7.2.10 | Vulnerável |
| 7.0.10 e anteriores | Vulnerável |
Esta vulnerabilidade decorre do tratamento inseguro do cabeçalho HTTP Authorization: Bearer <token> na função get_fabric_user_by_token(). Devido à sanitização insuficiente de entrada, atacantes podem injetar comandos SQL maliciosos (Injeção SQL, CWE-89).
Impacto:
SELECT ... INTO OUTFILE do MySQL, atacantes podem escrever arquivos maliciosos (ex.: webshells ou scripts Python) no servidor, permitindo controle total do sistema.Arquivos incluídos:
CVE-2025-25257.py - Script de exploit em PythonREADME.md - Documentação completaexploit_workflow.svg - Diagrama do fluxo de ataqueO exploit segue estas etapas, conforme ilustrado no diagrama Mermaid abaixo (renderizado nativamente no GitHub) e na imagem estática exploit_workflow.svg:
graph TD
A[Atacante] --> B[Endpoint Alvo]
B --> C[Injeção SQL]
C --> D[Criação de Webshell]
D --> E[Execução de Comandos]
E --> F[Comprometimento do Sistema]/api/fabric/device/status.webshell.php) no servidor.User-Agent para o webshell, executando comandos arbitrários do sistema.| Ação | Detalhes |
|---|---|
| Aplicar Patch Imediatamente | Atualizar para uma versão corrigida: 7.6.4+, 7.4.8+, 7.2.11+ ou 7.0.11+ |
| Mitigação Temporária | Restringir ou desativar o acesso à interface administrativa HTTP/HTTPS |
| Detecção | - Monitorar cabeçalhos Authorization para sintaxe SQL- Usar IDS/IPS para detectar tentativas de injeção SQL em /api/fabric/device/status- Verificar arquivos inesperados (ex.: .php, .py ou scripts CGI) |
Referências:
Esta ferramenta é apenas para fins autorizados de teste de segurança e pesquisa. Certifique-se de ter permissão explícita para testar o sistema alvo.
requests, argparsepip install requestspython3 cve_2025_25257.py -t https://target-ip
| Opção | Descrição |
|---|---|
-t | URL alvo (ex.: https://target-ip) |
-T | Arquivo contendo múltiplas URLs alvo |
--proxy | Roteie o tráfego através de um proxy (ex.: http://127.0.0.1:8080) |
Pós-Exploração: Após exploração bem-sucedida, o script exibe a URL do webshell (ex.: https://target-ip/webshell.php). Comandos podem ser enviados ao webshell via cabeçalho User-Agent usando ferramentas como curl ou um navegador.
python3 cve_2025_25257.py -t https://192.168.1.100 --proxy http://127.0.0.1:8080
Saída: Se bem-sucedido, o script exibirá:
[+] 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 é uma vulnerabilidade grave e facilmente explorável no FortiWeb, permitindo que atacantes não autenticados obtenham controle total do sistema. A aplicação imediata de patches é crítica, e as organizações devem monitorar sinais de exploração.
Auxílios Visuais: O diagrama Mermaid acima renderiza nativamente no GitHub. O arquivo estático exploit_workflow.svg (incluído no repositório) fornece o mesmo fluxo para visualização offline ou apresentações, com gráficos vetoriais escaláveis para renderização de alta qualidade.