Descoberta de XSS no Chess.com
- Enquanto curtia xadrez como hobby e brincava com tecnologia, encontrei uma vulnerabilidade de XSS no Chess.com.
- O Chess.com é o maior site de xadrez da internet, com mais de 100 milhões de membros.
Visão geral
- No começo de 2023, comecei a passar bastante tempo no Chess.com.
- Convidei um amigo para se cadastrar no site e viramos amigos imediatamente usando o recurso de amizade.
- Fiquei curioso se seria possível automatizar a adição de amigos de forma parecida com o worm do MySpace.
- Criei uma nova conta e, ao verificar a aba de rede nas ferramentas de desenvolvedor, encontrei a URL de adição automática de amigos.
Meio-jogo
- Tentei explorar XSS usando o editor de texto rico TinyMCE.
- Usei o proxy do Burp para inserir código HTML diretamente na descrição de "About".
- Verifiquei a configuração do TinyMCE e criei um payload de XSS usando a propriedade de estilo
background-image. - Testei vários símbolos e descobri como executar o XSS.
- No fim, desenvolvi uma forma de extrair cookies e objetos JavaScript.
Final
- Trabalhei para executar o XSS por completo.
- Descobri um novo método usando o atributo
srcsetpara permitir uma sintaxe JS mais ampla. - Usei codificação Base64 para executar diretamente o payload de XSS.
- O impacto era grande porque o editor TinyMCE era usado em todo o site.
Análise
- A causa raiz da vulnerabilidade é o recurso de reenvio de imagens.
- Era possível contornar a verificação de hospedagem de imagens incluindo o nome de domínio do Chess.com.
- O editor de texto rico permitia vários elementos HTML, o que o tornava favorável para alcançar XSS.
- O TinyMCE estava atualizado, mas faltava sanitização do HTML final.
- O Chess.com deveria aplicar sanitização ao HTML final exibido aos usuários.
Opinião do GN⁺:
- Este post de blog explica de forma interessante o processo de descobrir e relatar uma vulnerabilidade de segurança que pode surgir em uma grande plataforma online como o Chess.com.
- Vulnerabilidades de XSS podem representar uma ameaça grave à segurança de um site, e encontrar e corrigir essas falhas é muito importante para proteger a privacidade dos usuários.
- O texto destaca, para desenvolvedores de software e profissionais de segurança, a importância de reconhecer vulnerabilidades em componentes de aplicações web, como editores de texto rico, e de preveni-las.
1 comentários
Comentários no Hacker News
Apresentação e informações de contexto sobre o autor original (OP)
Comentário sobre recursos relacionados ao worm do MySpace
Perguntas técnicas relacionadas à vulnerabilidade XSS
Opinião sobre o editor de texto rico do chess.com
Pergunta sobre sigla técnica
Pergunta técnica relacionada a redirecionamento de subdomínio
chess.com.foo.bar) contornou a política de mesma origem (same-origin policy).