Attaques XSS : comment vous protéger, ainsi que vos clients et votre entreprise

Tobias Schüring Dernière mise à jour le 23.01.2020
5 Min.
De cette manière, les opérateurs et les utilisateurs des sites web peuvent se protéger contre les attaques de scripting intersites.
Dernière mise à jour le 23.01.2020

Les attaques du XSS sont particulièrement sournoises. Et surtout populaire auprès des pirates informatiques. Nous vous montrons comment vous pouvez vous protéger contre le détournement de votre site - en tant qu'opérateur de site web et en tant qu'utilisateur.

1599 WordPress -Plugins ont été analysés par le fournisseur de sécurité Wordfence sur une période de 14 mois, et les vulnérabilités les plus fréquentes de toutes ont été les vulnérabilités dites XSS. Près de 47 % des lacunes constatées concernaient le cross-site scripting - XSS en abrégé. Une raison suffisante pour examiner de plus près ce type d'attaque, dans laquelle des pirates informatiques injectent du code malveillant dans votre site et le détournent virtuellement. Ainsi, les agresseurs utilisent votre blog, votre magasin ou le site web de votre entreprise comme véhicule de leurs activités illégales.

Ce graphique montre que le XSS est la vulnérabilité la plus courante que l'on trouve sur Plugins , selon wordfence .
Selon wordfence , XSS est la vulnérabilité la plus fréquente sur Plugins .

Les vulnérabilités XSS sont toujours dangereuses lorsque les données saisies par l'utilisateur sont transmises au serveur web sans être vérifiées, par exemple dans les formulaires de contact ou les champs de commentaires. Une fois exploités, les pirates peuvent voler des données, intégrer votre site dans un botnet ou infecter les ordinateurs de vos visiteurs. Heureusement, il existe des mesures de protection très simples contre les attaques XSS.

Le XSS est pertinent pour les visiteurs et les opérateurs du site

Il est important de comprendre que les vulnérabilités XSS des WordPress pages sont tout aussi pertinentes pour les opérateurs du site que pour les visiteurs. Les exploitants de sites sont exploités pour atteindre les objectifs de bas niveau des pirates et les visiteurs du site en sont souvent les victimes, par exemple en volant des données ou en diffusant des codes malveillants.

En principe, les attaques XSS commencent lorsque les utilisateurs envoient des données au serveur web de l'opérateur du site web. Du code est injecté à ces points névralgiques, qui - si la saisie de l'utilisateur n'est pas vérifiée de manière critique, par exemple par un pare-feu - peuvent infecter la page. Les différents types d'attaques XSS sont résumés dans notre article de fond sur le sujet.

Le plus important : les mises à jour régulières de WordPress

Les vulnérabilités que les pirates utilisent pour injecter du code malveillant se trouvent soit dans le noyau WordPress , soit dans Plugins ou Themes. C'est précisément la raison pour laquelle des mises à jour régulières de tous ces éléments sont si importantes. Les vulnérabilités qui ont été découvertes à ce jour sont corrigées dans ces mises à jour.

Il est également judicieux de lire régulièrement les détails des mises à jour des fabricants respectifs afin de se faire une idée des lacunes de sécurité qui sont régulièrement comblées grâce aux mises à jour. Pour la maintenance et les mises à jour de sécurité du noyau WordPress , ces informations sont documentées dans le blog WordPress , par exemple. Le meilleur exemple en est la dernière mise à jour de sécurité, WordPress 4.7.5.

Pare-feux et listes blanches contre les attaques XSS simples

Une autre mesure de protection simple contre les attaques XSS est ce qu'on appelle les pare-feu d'applications web, ou WAF. Ces pare-feu sont le cœur de la grande sécuritéPlugins et sont alimentés par les dernières vulnérabilités par l'équipe de recherche respective du fabricant. Un WAF est généralement une procédure qui protègelesapplications web contre les attaques via le protocoledetransfert hypertexte (HTTP).

Cependant, même ces mécanismes de protection ont leurs limites. Pour certaines attaques XSS, l'attaque a lieu via la base de données. Par conséquent, la vérification des entrées de l'utilisateur pour détecter les codes malveillants est l'un des mécanismes de sécurité centraux dans la lutte contre les attaques XSS. Par exemple, le contenu des commentaires est scanné pour détecter les chaînes de caractères suspectes et trié si nécessaire.

La sortie des données doit également être sécurisée

Des mises à jour régulières ferment les vulnérabilités XSS existantes et les pare-feu et listes blanches tentent de filtrer le code malveillant avant qu'il n'atteigne le serveur web et n'infecte le site. Mais la sortie des données doit également être sécurisée en conséquence. La plupart des langages de programmation et de script, tels que PHP, Perl ou JavaScript, disposent déjà de fonctions prédéfinies de substitution ou de masquage de caractères à cette fin. Elles garantissent que les méta-caractères HTML "problématiques" (par exemple < , > et &) sont remplacés par des références de caractères inoffensives. Cela empêche le code malveillant de devenir actif. Le code doit également être aseptisé à l'aide de bibliothèques dites d'aseptisation. Cela implique l'installation d'un Plugin sur le serveur et l'inclusion de code supplémentaire dans le code source de votre page. L'extrait de code suivant garantit ensuite, par exemple, que des attributs sont ajoutés aux attributs autorisés:

Voici à quoi peut ressembler le code de configuration dont vous avez besoin pour effectuer le nettoyage du code.
Voici à quoi peut ressembler le code dont vous avez besoin pour procéder à l'assainissement du code.

Des compétences en programmation sont nécessaires pour mettre en œuvre ce projet. Cette protection de la sortie des données peut être facilement mise en œuvre par un développeur ou un CTO, par exemple.

Une bonne dose de scepticisme : comment les utilisateurs se protègent

Mais les attaques XSS n'affectent pas seulement les opérateurs de pages, mais aussi les visiteurs de ces pages. De nombreuses attaques XSS peuvent déjà être évitées par un traitement critique et attentif en relation avec les liens "étrangers". Par exemple, les utilisateurs ont la possibilité d'utiliser des modules complémentaires NoScript .Elles empêchent l'exécution de scripts, c'est-à-dire les lignes de code nuisibles qui volent des données, par exemple.

Si vous voulez être sûr, vous pouvez également éviter les scripts intersites côté client en désactivant simplement la prise en charge de JavaScript dans le navigateur. Car si ce soi-disant scripting actif est désactivée, certains types d'attaques XSS n'ont plus aucune chance, car les applications malveillantes ne sont même pas lancées. Cependant, la plupart des sites web modernes ne "fonctionnent" alors plus correctement - ou dans le pire des cas, ne fonctionnent plus du tout. Il est donc nécessaire de peser les aspects de sécurité et de convivialité.

Comment désactiver JavaScript en un clic dans les paramètres du navigateur Chrome.
Comment désactiver JavaScript en un clic dans les paramètres du navigateur Chrome.

Conclusion : les attaques XSS sont parfois très complexes, mais la protection est parfois assez simple.

Le XSS est un danger pour vous en tant qu'opérateur de site web ainsi que pour vos visiteurs et clients. Les vulnérabilités de Plugins ou Themes sont sans cesse mises en évidence. Par exemple, le Plugin WP Statistics, avec plus de 400 000 installations actives, ou encore WooCommerce et Jetpack, avec plus de trois millions d'installations actives chacun.

Si vous tenez à jour vos sites Plugins et Themes et que vous utilisez un WAF, vous avez déjà fait un grand pas dans la bonne direction. Si vous utilisez également des listes blanches pour les codes entrants et sortants, vous avez déjà parfaitement sécurisé votre site. Cependant, les deux dernières mesures en particulier ne sont pas faciles à mettre en œuvre sans connaissance de la programmation.

Par rapport aux attaqueBrute Force s assez primitives de les attaques XSS plus complexes sont malheureusement encore relativement souvent couronnées de succès. Toutefois, ces attaques dites complexes sont nettement moins nombreuses que les attaques deBrute Force sur les pages de WordPress .. Néanmoins, vous devez rendre les choses aussi difficiles que possible pour les agresseurs. Un piratage réussi coûte non seulement du temps et de l'argent pour la suppression des scripts, mais peut également mettre en danger votre position dans les moteurs de recherche.

Peut-être avez-vous déjà eu des expériences avec des attaques XSS ? Que faites-vous pour vous en protéger ?

En tant qu'administrateur système, Tobias veille sur notre infrastructure et trouve chaque vis pour optimiser les performances de nos serveurs. Grâce à ses efforts inlassables, on peut souvent le trouver la nuit sur le site Slack .

Articles connexes

Commentaires sur cet article

Laisse un commentaire

Ton adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués d'un *.