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⁺ :
- 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.
- 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.
- 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
Avis Hacker News
Présentation et informations de contexte sur l’auteur du post original (OP)
Commentaire sur une fonctionnalité liée au ver MySpace
Questions techniques liées à la vulnérabilité XSS
Avis sur l’éditeur de texte enrichi de chess.com
Question sur un acronyme technique
Question technique liée à une redirection de sous-domaine