Entdeckung von XSS auf Chess.com
- Während ich Schach als Hobby spielte und mit Technik herumexperimentierte, entdeckte ich auf Chess.com eine XSS-Schwachstelle.
- Chess.com ist die größte Schachseite im Internet mit mehr als 100 Millionen Mitgliedern.
Überblick
- Anfang 2023 begann ich, viel auf Chess.com zu spielen.
- Ich brachte einen Freund dazu, sich auf der Seite anzumelden, und wir wurden über die Freundesfunktion sofort Freunde.
- Ich fragte mich, ob sich ähnlich wie beim MySpace-Wurm automatisch Freunde hinzufügen lassen.
- Ich erstellte ein neues Konto und entdeckte im Netzwerk-Tab der Entwicklertools die URL zum automatischen Hinzufügen von Freunden.
Mittelspiel
- Ich versuchte XSS mit dem TinyMCE-Rich-Text-Editor.
- Mit dem Burp-Proxy fügte ich direkt HTML-Code in die „About“-Beschreibung ein.
- Ich prüfte die TinyMCE-Konfiguration und erstellte mithilfe der Style-Eigenschaft
background-imageeine XSS-Payload. - Ich testete verschiedene Symbole und fand heraus, wie sich XSS ausführen ließ.
- Schließlich entwickelte ich eine Methode, um Cookies und JavaScript-Objekte zu extrahieren.
Endspiel
- Ich arbeitete daran, XSS vollständig zur Ausführung zu bringen.
- Mit dem Attribut
srcsetfand ich eine neue Methode, um breitere JS-Syntax zu verwenden. - Mithilfe von Base64-Kodierung führte ich die XSS-Payload direkt aus.
- Da der TinyMCE-Editor auf der gesamten Website verwendet wird, ist die Auswirkung groß.
Analyse
- Die eigentliche Ursache der Schwachstelle ist die Funktion zum erneuten Hochladen von Bildern.
- Die Prüfung des Bild-Hostings lässt sich umgehen, indem der Domainname von Chess.com eingebunden wird.
- Der Rich-Text-Editor erlaubt verschiedene HTML-Elemente und eignet sich daher gut, um XSS zu erreichen.
- TinyMCE war auf dem neuesten Stand, aber eine Sanitization des finalen HTML fehlte.
- Chess.com sollte das endgültige HTML, das den Nutzern angezeigt wird, sanitizen.
GN⁺-Meinung:
- Dieser Blogpost beschreibt auf interessante Weise den Prozess, Sicherheitslücken zu entdecken und zu melden, die auf großen Online-Plattformen wie Chess.com auftreten können.
- XSS-Schwachstellen können eine ernsthafte Bedrohung für die Sicherheit von Websites darstellen, und das Finden und Beheben solcher Lücken ist für den Schutz der Privatsphäre der Nutzer sehr wichtig.
- Der Beitrag betont für Softwareentwickler und Sicherheitsexperten, wie wichtig es ist, Schwachstellen in Komponenten von Webanwendungen wie Rich-Text-Editoren zu erkennen und zu verhindern.
1 Kommentare
Hacker-News-Kommentare
Vorstellung und Hintergrundinformationen des ursprünglichen Autors (OP)
Kommentar zu Funktionen im Zusammenhang mit dem MySpace-Wurm
Technische Fragen zur XSS-Sicherheitslücke
PHPSESSID-Cookie nichtHttpOnlyist und weshalb eine bekannte XSS-Sicherheitslücke nicht behoben wurde.Meinung zum Rich-Text-Editor von chess.com
Frage zu einem technischen Akronym
Technische Frage zu Subdomain-Redirects
chess.com.foo.bar) die Same-Origin-Policy umgehen konnte.