
CVE-2025-25257용 공개 PoC: FortiWeb 사전 인증 SQLi를 통한 RCE
면책 조항: 이 PoC(Proof-of-Concept)는 승인된 보안 테스트 및 연구 목적으로만 제공됩니다. 소유하지 않았거나 명시적 테스트 권한이 없는 시스템에 대한 무단 사용은 불법입니다. 사용자는 모든 관련 법률 및 규정을 준수할 책임이 있습니다.
CVE-2025-25257은 웹 애플리케이션 방화벽인 Fortinet FortiWeb의 Fabric Connector 구성 요소에서 발견된 치명적인 취약점입니다. 이 취약점으로 인해 공격자는 인증 없이 임의의 시스템 명령을 실행할 수 있으며, 전체 시스템 장악의 심각한 위험을 초래합니다.
| 버전 범위 | 상태 |
|---|---|
| 7.6.0 – 7.6.3 | 취약 |
| 7.4.0 – 7.4.7 | 취약 |
| 7.2.0 – 7.2.10 | 취약 |
| 7.0.10 및 이전 버전 | 취약 |
이 취약점은 get_fabric_user_by_token() 함수에서 Authorization: Bearer <token> HTTP 헤더를 안전하지 않게 처리하는 데서 발생합니다. 입력 값 검증(샌니타이제이션)이 불충분하여 공격자는 악성 SQL 명령을 주입할 수 있습니다 (SQL 인젝션, CWE-89).
영향:
SELECT ... INTO OUTFILE을 사용하여 악성 파일(예: 웹셸 또는 Python 스크립트)을 서버에 기록함으로써 전체 시스템 제어가 가능합니다.포함된 파일:
CVE-2025-25257.py - Python 익스플로잇 스크립트README.md - 전체 문서exploit_workflow.svg - 공격 워크플로 다이어그램익스플로잇은 아래 Mermaid 다이어그램(GitHub에서 기본 렌더링) 및 정적 이미지 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 엔드포인트에 조작된 HTTP 요청을 전송합니다.webshell.php)을 서버에 기록합니다.User-Agent 헤더를 통해 웹셸로 명령을 전송하여 임의의 시스템 명령을 실행합니다.참고 자료:
이 도구는 승인된 보안 테스트 및 연구 목적으로만 사용해야 합니다. 대상 시스템에 대한 명시적 테스트 권한이 있는지 확인하십시오.
requests, argparsepip install requestspython3 cve_2025_25257.py -t https://target-ip
| 옵션 | 설명 |
|---|---|
-t | 대상 URL (예: https://target-ip) |
-T | 여러 대상 URL이 포함된 파일 |
--proxy | 프록시를 통한 트래픽 라우팅 (예: http://127.0.0.1:8080) |
익스플로잇 후: 성공적인 익스플로잇 후 스크립트는 웹셸 URL(예: https://target-ip/webshell.php)을 출력합니다. curl 또는 브라우저와 같은 도구를 사용하여 User-Agent 헤더를 통해 웹셸로 명령을 전송할 수 있습니다.
python3 cve_2025_25257.py -t https://192.168.1.100 --proxy http://127.0.0.1:8080
출력: 성공하면 스크립트는 다음을 표시합니다:
[+] 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은 FortiWeb에서 인증되지 않은 공격자가 전체 시스템 제어권을 획득할 수 있게 하는 심각하고 쉽게 악용 가능한 취약점입니다. 즉각적인 패치가 필수적이며, 조직은 악용 징후를 모니터링해야 합니다.
시각 자료: 위 Mermaid 다이어그램은 GitHub에서 기본 렌더링됩니다. 저장소에 포함된 정적 exploit_workflow.svg는 오프라인 보기 또는 프레젠테이션을 위해 확장 가능한 벡터 그래픽으로 동일한 워크플로를 고품질 렌더링으로 제공합니다.
| 조치 | 세부 사항 |
|---|
| 즉시 패치 | 수정 버전으로 업그레이드: 7.6.4+, 7.4.8+, 7.2.11+ 또는 7.0.11+ |
| 임시 완화 조치 | HTTP/HTTPS 관리 인터페이스 접근 제한 또는 비활성화 |
| 탐지 | - Authorization 헤더에서 SQL 문법 모니터링- IDS/IPS를 통해 /api/fabric/device/status에 대한 SQL 인젝션 시도 탐지- 예상치 못한 파일(예: .php, .py 또는 CGI 스크립트) 확인 |