2 points par GN⁺ 2024-01-27 | 1 commentaires | Partager sur WhatsApp

Découverte d’un XSS sur Chess.com

  • En pratiquant les échecs comme loisir tout en m’amusant avec la technique, j’ai découvert une vulnérabilité XSS sur Chess.com.
  • Chess.com est le plus grand site d’échecs sur Internet, avec plus de 100 millions de membres.

Vue d’ensemble

  • J’ai commencé à passer beaucoup de temps sur Chess.com au début de 2023.
  • J’ai fait s’inscrire un ami sur le site et nous sommes instantanément devenus amis grâce à la fonctionnalité dédiée.
  • Je me suis demandé s’il était possible d’automatiser l’ajout d’amis, à la manière du ver MySpace.
  • J’ai créé un nouveau compte et, en inspectant l’onglet réseau des outils de développement, j’ai trouvé l’URL d’ajout automatique d’amis.

Milieu de partie

  • J’ai tenté une XSS en utilisant l’éditeur de texte enrichi TinyMCE.
  • J’ai utilisé le proxy Burp pour injecter directement du code HTML dans la description « About ».
  • Après avoir examiné la configuration de TinyMCE, j’ai créé une charge utile XSS en exploitant la propriété de style background-image.
  • J’ai testé plusieurs symboles pour trouver comment déclencher l’exécution de la XSS.
  • J’ai finalement mis au point une méthode permettant d’extraire les cookies et les objets JavaScript.

Finale

  • J’ai travaillé à faire exécuter complètement la XSS.
  • J’ai trouvé une nouvelle méthode utilisant l’attribut srcset, qui permettait d’employer une syntaxe JS plus large.
  • J’ai exécuté directement la charge utile XSS en utilisant un encodage Base64.
  • L’impact était important, car l’éditeur TinyMCE était utilisé sur l’ensemble du site.

Analyse

  • La cause profonde de la vulnérabilité est la fonctionnalité de réimportation d’images.
  • Il est possible de contourner la vérification de l’hébergement d’images en incluant le nom de domaine de Chess.com.
  • L’éditeur de texte enrichi autorise divers éléments HTML, ce qui en fait un bon terrain pour parvenir à une XSS.
  • TinyMCE était à jour, mais il manquait une sanitisation du HTML final.
  • Chess.com devrait appliquer une sanitisation au HTML final affiché aux utilisateurs.

Avis de GN⁺ :

  1. Ce billet de blog décrit de manière intéressante le processus de découverte et de signalement d’une faille de sécurité pouvant survenir sur une grande plateforme en ligne comme Chess.com.
  2. Les vulnérabilités XSS peuvent constituer une menace grave pour la sécurité d’un site web, et les détecter puis les corriger est essentiel pour protéger les données personnelles des utilisateurs.
  3. Cet article souligne, pour les développeurs logiciels et les experts en sécurité, l’importance d’identifier les vulnérabilités des composants d’applications web comme les éditeurs de texte enrichi et de les prévenir.

1 commentaires

 
GN⁺ 2024-01-27
Avis Hacker News
  • Présentation et informations de contexte sur l’auteur du post original (OP)

    • Élève britannique de 17 ans préparant ses A-Levels, qui hésite entre l’université et l’option d’apprentissage diplômant.
    • Son profil GitHub montre qu’il est un membre central de HashPals, le créateur de Search-That-Hash, et le mainteneur d’un dépôt open source de logiciels gratuits pour les tablettes ReMarkable.
    • Il est aussi fait mention d’une appréciation positive de lichess.org et d’un partage de centres d’intérêt techniques.
  • Commentaire sur une fonctionnalité liée au ver MySpace

    • Mention du ver MySpace de 2005 environ, l’auteur précisant qu’il n’était pas encore né à l’époque.
    • Il est souligné qu’un autre utilisateur a observé et documenté le fait que quelqu’un contrôlait les coups dans sa propre partie d’échecs, et qu’il avait signalé le problème à chess.com sans que cela soit résolu.
  • Questions techniques liées à la vulnérabilité XSS

    • Interrogation sur la raison pour laquelle le cookie PHPSESSID n’est pas HttpOnly et sur le fait qu’une vulnérabilité XSS connue n’ait pas été corrigée.
    • Expression d’un intérêt pour le rapport de bug bounty XSS et d’une conscience des difficultés du processus.
  • Avis sur l’éditeur de texte enrichi de chess.com

    • Réaction amusée au fait de qualifier l’éditeur de texte enrichi de « Saint Graal », ainsi qu’une inquiétude quant au fait qu’une telle fonctionnalité puisse comporter des vulnérabilités malgré la taille du site web.
  • Question sur un acronyme technique

    • Question sur la signification de « OSRF » et supposition qu’il pourrait s’agir de « Own-Site Request Forgery », à l’image de CSRF.
  • Question technique liée à une redirection de sous-domaine

    • Demande d’explication sur la manière dont une redirection depuis un sous-domaine (chess.com.foo.bar) a contourné la politique de même origine (same-origin policy).