2 puntos por GN⁺ 2024-01-27 | 1 comentarios | Compartir por WhatsApp

Descubrimiento de XSS en Chess.com

  • Mientras disfrutaba el ajedrez como pasatiempo y jugaba con la tecnología, descubrí una vulnerabilidad XSS en Chess.com.
  • Chess.com es el sitio de ajedrez más grande de internet, con más de 100 millones de miembros.

Resumen

  • A inicios de 2023 empecé a pasar mucho tiempo en Chess.com.
  • Hice que un amigo se registrara en el sitio y, usando la función de amigos, nos agregamos de inmediato.
  • Me dio curiosidad si sería posible agregar amigos automáticamente de una forma similar al gusano de MySpace.
  • Creé una cuenta nueva y revisé la pestaña de red en las herramientas de desarrollador para encontrar la URL de agregado automático de amigos.

Medio juego

  • Intenté hacer XSS usando el editor de texto enriquecido TinyMCE.
  • Usé un proxy de Burp para insertar código HTML directamente en la descripción de "About".
  • Revisé la configuración de TinyMCE y generé una carga útil de XSS usando la propiedad de estilo background-image.
  • Probé varios símbolos hasta encontrar una forma de ejecutar el XSS.
  • Finalmente desarrollé una manera de extraer cookies y objetos de JavaScript.

Final

  • Trabajé para ejecutar el XSS por completo.
  • Encontré un método nuevo que usaba el atributo srcset para permitir una sintaxis de JS más amplia.
  • Ejecuté directamente la carga útil de XSS usando codificación Base64.
  • El impacto era grande porque el editor TinyMCE se usaba en todo el sitio.

Análisis

  • La causa raíz de la vulnerabilidad es la función de re-subida de imágenes.
  • Es posible evadir la verificación de alojamiento de imágenes incluyendo el nombre de dominio de Chess.com.
  • El editor de texto enriquecido permite varios elementos HTML, por lo que es adecuado para lograr XSS.
  • TinyMCE estaba actualizado, pero faltaba la sanitización del HTML final.
  • Chess.com debe aplicar sanitización al HTML final que se muestra a los usuarios.

Opinión de GN⁺:

  1. Esta publicación de blog explica de forma interesante el proceso de descubrir y reportar una vulnerabilidad de seguridad que puede surgir en una plataforma en línea a gran escala como Chess.com.
  2. Las vulnerabilidades XSS pueden representar una amenaza grave para la seguridad de un sitio web, y encontrar y corregir estas fallas es muy importante para proteger la privacidad de los usuarios.
  3. Este artículo subraya para desarrolladores de software y profesionales de seguridad la importancia de reconocer las vulnerabilidades en componentes de aplicaciones web como los editores de texto enriquecido y de prevenirlas.

1 comentarios

 
GN⁺ 2024-01-27
Opiniones de Hacker News
  • Introducción y contexto del autor original (OP)

    • Es un estudiante británico de 17 años que está cursando sus A-Levels y considerando opciones entre la universidad y un programa de aprendizaje con titulación.
    • En su perfil de GitHub se puede ver que es miembro clave de HashPals, creador de Search-That-Hash y mantenedor de un repositorio de código abierto de software gratuito para la tablet ReMarkable.
    • También menciona una valoración positiva de lichess.org y compartir sus intereses técnicos.
  • Comentario sobre una función relacionada con el gusano de MySpace

    • Se menciona el gusano de MySpace de alrededor de 2005, y el autor aclara que en esa época aún no había nacido.
    • Señala que otro usuario presenció y documentó el fenómeno de que alguien controlara los movimientos en su partida de ajedrez, y que reportó el problema a chess.com, pero no fue resuelto.
  • Preguntas técnicas relacionadas con la vulnerabilidad XSS

    • Se cuestiona por qué la cookie PHPSESSID no era HttpOnly y por qué no se corrigió una vulnerabilidad XSS ya conocida.
    • Se expresa interés por el reporte de bug bounty de XSS y reconocimiento de la dificultad de ese proceso.
  • Opiniones sobre el editor de texto enriquecido de chess.com

    • Hay una reacción divertida a que llamen "Santo Grial" al editor de texto enriquecido, junto con preocupación de que una función así pueda tener vulnerabilidades incluso en un sitio web grande.
  • Pregunta sobre una sigla técnica

    • Se pregunta qué significa "OSRF" y se especula si se refiere a "Own-Site Request Forgery", similar a CSRF.
  • Pregunta técnica relacionada con redirección de subdominios

    • Se pide una explicación de cómo una redirección desde un subdominio (chess.com.foo.bar) logró eludir la política del mismo origen (same-origin policy).