Parmi les cyberattaques qui exploitent des méthodes de injection de scripts il Cross Site Scripting (XSS) c'est certainement l'un des plus connus et dans ce court article je vais tenter d'expliquer les risques et le rôle important joué par un outil appelé WAF (Web Application Firewall) comme première ligne de défense contre ces attaques.
XSS est une attaque, comme déjà mentionné, de type injection, c'est-à-dire dans laquelle un script est injecté dans une page Web, la rendant infectée et permettant à un attaquant de voler des données de toutes sortes à la victime qui navigue.
Tout d’abord, il existe deux principaux types de XSS, appelés Réfléchi et Stocké, ce dernier appelé aussi Persistant.
Dans les deux cas, le but de l'attaque est d'exploiter une vulnérabilité du site ou du navigateur Web et de compromettre l'interaction que l'utilisateur a avec l'application susmentionnée, les conséquences pouvant être néfastes pour les deux parties.
En XSS réfléchi le navigateur de la victime est attaqué, le script se trouve dans un lien malveillant, souvent envoyé à la victime dans un email, lien qui est apparemment légitime mais qui, une fois cliqué, lancera le script placé à l'intérieur, compromettant la session de l'utilisateur avec l'application qu'il utilise.
Les données de session, les cookies et toute autre donnée sensible seront rapidement envoyés à l'attaquant.
Dans XSS stocké l'application est attaquée directement et généralement les vulnérabilités des sites Web qui utilisent un certain type de formulaire que l'utilisateur doit remplir sont exploitées, dès la réponse de l'application, un morceau de code malveillant qui a été attaché au site par le pirate informatique est activé par l'utilisateur . Dans les deux cas, l'utilisateur n'a pas conscience du risque car les applications semblent tout à fait légitimes.
Lo XSS stocké il s'agit certainement d'un type d'attaque plus complexe et plus dangereux car il affecte chaque utilisateur qui accède à l'application vulnérable, le pirate informatique reste caché en volant des données sensibles pendant des périodes prolongées, d'où le nom "XSS persistant ».
Alors comment protéger nos applications web de ce type d’attaque ?
Comme nous le savons bien, les entreprises privées et les organismes publics dépendent quotidiennement du bon fonctionnement des services disponibles sur le web. La fiabilité etStabilité de certains de ces services est absolument vitale et doit être préservée au mieux et pour garantir leur existence un grand nombre d'entre eux sont protégés par une technologie extrêmement importante, à savoir le Pare-feu d'applications Web ou en bref, WAF.
Les WAF sont d'une aide importante pour nous protéger contre les menaces externes de toutes sortes, contre les attaques malveillantes et contre le trafic indésirable vers nos serveurs, comme la protection contre les robots, déni de service Attaques de type (DOS) injection, attaques de script intersite (XSS) éd. Injection SQL et plus.
Les WAF doivent être considérés comme une ligne de défense importante contre les attaques de type injectionEn surveillant le trafic au niveau de l'application, ils sont en mesure d'identifier l'une de ces attaques avant qu'il ne soit trop tard, en vérifiant les séquences de caractères et les modèles potentiellement dangereux pouvant indiquer une attaque de ce type.
Les WAF peuvent empêcher ou faire comprendre qu'une attaque similaire est en cours grâce à un filtrage "basé sur les signatures" qui parvient à bloquer une grande partie des requêtes malveillantes, évidemment cet ensemble de règles et listes de "signatures malveillantes" doivent toujours être mises à jour.
C'est pour cette raison que les WAF sont maintenus par des équipes d'experts qui travaillent à mettre à jour en permanence les connaissances sur les vecteurs d'attaque et les règles pour les prévenir.
Évidemment, les WAF n'offrent pas une protection infaillible, le potentiel de défense contre une attaque similaire, mais aussi contre d'autres types, découle d'une configuration correcte des règles utilisées.
Les WAF analysent et préviennent ce qui est connu, même si des méthodes extrêmement sophistiquées et inédites ne seront malheureusement pas rapportées, il existe également des techniques de contourner des pare-feux qui exploitent souvent des failles dans leur configuration.
Pour cette raison, certains WAF aident l'utilisateur à inspecter les caractéristiques de fonctionnement du produit, en fournissant des informations détaillées sur le type de trafic reçu des services surveillés et les paramètres reçus, et ce n'est pas une fonctionnalité commune à tous les WAF, qui souvent ne fournissent que le journal avec la notification relative à l'activation de la règle utilisée.
En outre, certains WAF se concentrent sur une stratégie d'application des comportements légitimes plutôt que sur une approche basée sur les signatures comme celle expliquée précédemment, une stratégie qui dans certains cas pourrait faire la différence et faciliter de manière significative le processus d'identification de l'attaque et combinée à la capacité de certains Pour les WAF plus complexes, démarrer le déploiement d'un correctif virtuel même sans arrêter le service peut garantir une disponibilité rarement atteinte par des logiciels moins avancés.
https://owasp.org/www-community/attacks/xss/ pour des informations plus détaillées sur xss
https://seerbox.it/ exemple de WAF non basé sur des signatures