Qu'est ce que la faille XSS ?
Dans un premier temps, il est important de noter que cette faille a deux catégories : la faille XSS "Stored" et la faille XSS "Reflected".
La différence entre ces deux types de failles est la manière dont les scripts malveillants sont injectés et exécutés :
Testons la faille XSS Reflected :
Voici un script malveillant à injecter dans un champ de formulaire : <script>alert("XSS Test")</script>
On constate qu'une alerte apparaît dans notre navigateur, le code a donc bel et bien été exécuté.
Mais en quoi cela peut-il être dangereux ?
Ici, nous avons seulement affiché une petite alerte, mais en pratique, un attaquant pourrait injecter des scripts plus sophistiqués pour voler des cookies de session, rediriger l'utilisateur vers un site malveillant ou effectuer d'autres actions malveillantes. Et les conséquences peuvent être lourdes.
Les bonnes pratiques pour se protéger contre les failles XSS :
htmlspecialchars() en PHP) pour neutraliser les caractères spéciaux dans les données affichées.