Glossaire F5

Traitement des fuites

« Échappement » fait référence au processus dans les langages de balisage, les langages de programmation ou les langages de script consistant à convertir des caractères ou des symboles ayant des significations particulières en chaînes alternatives pouvant être traitées en toute sécurité.

Par exemple, en HTML, les caractères < et > sont réservés à la description des balises. Si ces caractères apparaissent directement dans HTML, un navigateur Web les interprète comme du balisage plutôt que comme du texte brut. Ainsi, pour afficher ces symboles sous forme de texte brut, ils doivent être écrits sous forme de séquences d'échappement, telles que < pour < et > pour >. Lorsqu'un navigateur rencontre ces séquences d'échappement, il les restitue visuellement sous la forme des caractères d'origine (< et >). Ce processus de conversion est ce que nous appelons « s’échapper ».

L’échappement est particulièrement important dans le contexte de la sécurité web. Il s’agit d’un aspect essentiel de la « désinfection », une pratique visant à gérer en toute sécurité les entrées des utilisateurs fournies via des formulaires Web.

Par exemple, imaginez une application Web qui prend les données saisies par l’utilisateur à partir d’un formulaire et les affiche directement sur une page suivante. Supposons qu'un utilisateur soumette l'entrée :
<script>alert("Bonjour !");</script>
Si l' application Web inclut directement cette chaîne dans la page résultante sans échappement, le navigateur l'interprète et l'exécute comme du code JavaScript. Par conséquent, une boîte d'alerte contextuelle affichant « Bonjour ! » apparaissait, ce qui n'était pas prévu par le créateur ou l'administrateur du site Web. Bien que ce simple script ne puisse pas causer de dommages significatifs, la possibilité pour un utilisateur tiers d'intégrer arbitrairement des scripts dans des pages Web constitue un problème sérieux, exposant potentiellement le site à des attaques de type Cross-Site Scripting (XSS) et à d'autres menaces de sécurité.

Pour éviter cela, l' application Web doit échapper correctement les caractères spéciaux avant de présenter ces données. En remplaçant < et > par leurs séquences d'échappement correspondantes (< et >), le script malveillant s'afficherait sans danger sous la forme de la chaîne :
<script>alert("Bonjour !");</script>
Sous cette forme, le navigateur le traite strictement comme du texte, neutralisant ainsi tous les scripts et les affichant comme prévu, sans déclencher de comportement involontaire.

La plupart des langages et frameworks de développement application Web modernes disposent de fonctions intégrées permettant d'échapper les chaînes de manière appropriée. Cependant, vérifier que chaque entrée est correctement échappée dans des applications Web complexes et identifier et corriger les éléments problématiques peut nécessiter beaucoup de temps et d'efforts. Une solution très efficace à ce problème consiste à utiliser un pare-feu application Web (WAF), qui garantit que les entrées soumises par l'utilisateur sont échappées avant d'atteindre l' application Web.

F5 offre la fonctionnalité WAF avec la solution F5 BIG-IP .