Chapitre 24. Se défendre contre XXE
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
D'une manière générale,, il est en effet facile de se défendre contre XXE : il suffit de désactiver les entités externes dans ton analyseur XML (voir Figure 24-1). La façon de procéder dépend de l'analyseur XML en question, mais il suffit généralement d'une seule ligne de configuration :
factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
L'OWASP note que XXE est particulièrement dangereux contre les analyseurs XML basés sur Java, car beaucoup d'entre eux ont XXE activé par défaut. En fonction du langage et de l'analyseur sur lequel tu comptes, il est possible que XXE soit désactivé par défaut.
Figure 24-1. Les attaques XXE peuvent être facilement bloquées en configurant correctement ton analyseur XML
Tu devrais toujours vérifier la documentation de l'API de ton analyseur XML pour t'en assurer, et ne pas t'attendre à ce qu'il soit désactivé par défaut.
Évaluation d'autres formats de données
Selon les cas d'utilisation de ton application, il peut être possible de réarchitecturer l'application pour qu'elle repose sur un format de données différent plutôt que sur XML. Ce type de changement pourrait simplifier la base de code, tout en éliminant tout risque XXE. Généralement, XML peut être ...