Les sites vulnérables à XSS peuvent être utilisés pour phish Googlebot

Un problème courant que les développeurs de vulnérabilité de sécurité doivent prendre en compte est le problème des scripts intersite (XSS). L'exploitation XSS peut être atténuée à l'aide de procédures d'assainissement qui testent les valeurs de variables dans les requêtes GET et POST. Les attaques côté serveur existent aussi, mais vont bien au-delà de la portée. Apparemment, Googlebot et l'indexation souffrent actuellement de cette vulnérabilité.

Phishing Googlebot?

Bien que les attaques XSS puissent être utilisées pour altérer ou saboter des sites Web, elles constituent également une méthode de phishing. Un attaquant crée un lien malveillant et envoie aux utilisateurs un courrier électronique contenant ce lien vers un site Web vulnérable à l'exploit XSS. Lorsqu'un utilisateur clique sur le lien malveillant, un script s'exécute lors du chargement de la page. Les versions les plus récentes de Chrome disposent d’un contrôle de cohérence XSS Auditor pour les URL qui risqueraient de provoquer les utilisateurs.

Malheureusement, Googlebot utilise actuellement Chrome 41, une version antérieure du navigateur ne disposant pas du vérificateur XSS. Cela signifie-t-il que Googlebot est vulnérable aux URL de type hameçonnage où un attaquant pourrait injecter un script d'attaque SEO malveillant? Pour Google, un attaquant pourrait utiliser JavaScript pour injecter des éléments dans le DOM, tels que des backlinks, et pire, manipuler des éléments canoniques.

XSS Googlebot exploit

La preuve de concept (PoC) de cette attaque a été publiée par Tom Anthony, spécialiste du référencement (et de Security Researcher), illustrant le succès de la méthode d'attaque, notamment des captures d'écran de l'outil de contrôle des URL de la console de recherche Google affichant un code source modifié résultant de la charge utile. . N'oubliez pas que l'exécution d'un script malveillant de cette manière peut potentiellement réécrire entièrement la page pour l'indexation.

Tom décrit avoir entrepris les étapes appropriées de divulgation des vulnérabilités, répertorié un calendrier de ses communications avec Google et décrit les réponses. À ce stade, la divulgation de Tom est une perspective incertaine car la vulnérabilité peut encore fonctionner dans la nature, bien que Google lui ait dit en mars qu’il disposait de «mécanismes de sécurité». Les chercheurs en sécurité publient parfois des vulnérabilités de 0 jour (non corrigées) pour inciter les entreprises à agir.

Réponse de Google

Tom a noté que les gens voyaient des preuves que Googlebot avait une mise à niveau en attente qui inclurait probablement le filtre URL de l'auditeur XSS. Une fois que Googlebot a mis à niveau une instance plus récente de Chrome avec le vérificateur XSS Auditor en place, cette attaque ne fonctionnera plus. Dans l'intervalle, Google peut éventuellement indexer et publier des liens malveillants dans des SERP que des utilisateurs non avertis de Firefox (qui n'a actuellement pas d'auditeur XSS) pourraient éventuellement cliquer et se faire hacher.

Nous avons reçu la déclaration suivante de Google: «Nous sommes reconnaissants au chercheur d’avoir porté ce problème à notre attention. Nous avons enquêté et n'avons trouvé aucune preuve d'abus. Nous continuons d'être vigilants pour protéger nos systèmes et apporter des améliorations. "

Les exploits utilisant les techniques XSS sont tellement répandus qu'il est concevable que cela se produise quelque part. En même temps, c’est crédible que personne ne l’a essayé.

Comment se protéger contre les attaques XSS

Pour éviter les attaques les plus courantes, vous devez vous assurer qu'aucun code malveillant (Javascript, PHP, SQL, etc.) ne sera traité par votre application. Utilisez les attentes intégrées de valeurs, telles que l’assurance que seul le nombre exact et l’ensemble de variables correctement nommé sont présents avec chaque demande. Vous devez également encoder des restrictions de type de données pour tester les valeurs entrantes avant de continuer.

Par exemple, si votre application attend un numéro, elle doit lever une exception, la rediriger et éventuellement mettre en liste noire l'adresse IP si elle obtient une valeur de chaîne dans le cadre d'une requête incorrecte. Le problème, c’est que de nombreux sites Web relativement populaires sont vulnérables à ce type d’attaque car ils ne prennent pas de telles mesures. Il est assez courant pour les attaquants d’attaquer les applications en modifiant les valeurs des variables de requête pour rechercher des opportunités d’exploitation.

Une des propositions de Google contre les attaques XSS prend le test d'intégrité de type de données décrit ci-dessus au niveau de l'en-tête de réponse HTTP, avec ce qu'il appelle: les types approuvés. Cependant, la vulnérabilité n’est pas encore corrigée, c’est pourquoi il est incertain de publier 0days. Google est actuellement encore vulnérable à cet exploit.

A propos de l'auteur

Detlef Johnson est rédacteur en chef pour Third Door Media. Il écrit une rubrique pour Search Engine Land intitulée "Référencement technique pour les développeurs". Detlef fait partie du groupe original de webmasters pionniers ayant créé le domaine du référencement professionnel il y a plus de 20 ans. Depuis, il a travaillé pour de grands fournisseurs de technologies de moteurs de recherche, Elle gère des équipes de programmation et de marketing pour Chicago Tribune et est consultée pour de nombreuses entités, notamment des sociétés du Fortune 500. Detlef possède une solide compréhension du SEO technique et une passion pour la programmation Web. En tant que modérateur technologique reconnu de notre série de conférences SMX, Detlef continuera à promouvoir L’excellence du référencement combiné à des fonctionnalités de programmeur marketing et à des conseils pour les webmasters.