
Während der Analyse der Website ecodotempo.com.br wurde eine Stored Cross-Site-Scripting (XSS)-Schwachstelle entdeckt. Diese Schwachstelle ermöglicht es einem Angreifer, bösartige Skripte in Felder einzuschleusen, die später anderen Benutzern ohne ordnungsgemäße Bereinigung angezeigt werden, insbesondere auf der Hauptseite des nicht authentifizierten (abgemeldeten) Bereichs.
Bei der Analyse der Website ecodotempo.com.br wurde eine gespeicherte Cross-Site-Scripting (XSS)-Sicherheitslücke entdeckt. Diese Schwachstelle ermöglicht es einem Angreifer, bösartige Skripte in Felder einzuschleusen, die später anderen Benutzern ohne ordnungsgemäße Bereinigung angezeigt werden, insbesondere auf der Hauptseite des nicht authentifizierten (abgemeldeten) Bereichs.
ecodotempo.com.br/colecoes/cadastrar_realizar.php
name="nome" und name="descricao"
Bei der Analyse der Website ecodotempo.com.br wurde eine gespeicherte Cross-Site-Scripting (XSS)-Sicherheitslücke entdeckt. Diese Schwachstelle ermöglicht es einem Angreifer, bösartige Skripte in Felder einzuschleusen, die später anderen Benutzern ohne ordnungsgemäße Bereinigung angezeigt werden, insbesondere auf der Hauptseite des nicht authentifizierten (abgemeldeten) Bereichs.
Das injizierte Skript wurde dauerhaft im Backend der Anwendung gespeichert und im Browser jedes Besuchers ausgeführt, der die betroffene Seite aufrief – ohne Escape-Mechanismen oder Schutz durch eine Content Security Policy (CSP).
Bei Tests auf ecodotempo.com.br wurde die XSS-Schwachstelle speziell im Erstellungsprozess von Artikelsammlungen identifiziert. Es war möglich, eine schädliche Payload in die Namens- oder Beschreibungsfelder der Sammlung einzuschleusen, ohne dass aktive Abwehrmechanismen – wie Eingabevalidierung, Code-Filter, Web Application Firewall (WAF) oder sicherheitsrelevante HTTP-Header – vorhanden waren.
Nach dem Erstellen der Sammlung mit dem bösartigen Skript, dem Abmelden und dem erneuten Aufrufen der Hauptanmeldeseite wurde die Payload automatisch im Browser ausgeführt, was zu einem Pop-up führte. Im Test wurde dies genutzt, um das Auslesen von Cookies zu demonstrieren. Dieses Verhalten bestätigt das Fehlen einer ordnungsgemäßen Bereinigung und die reale Möglichkeit der Ausführung beliebiger Skripte im Browserkontext des Opfers. Siehe unten im Abschnitt „Nachweise" ein Beispiel.
Hinweis: Zusätzlich zum Diebstahl von Cookies könnte diese Schwachstelle für verschiedene böswillige Zwecke ausgenutzt werden, wie z. B. die Weiterleitung von Benutzern auf schädliche Websites, das Abgreifen sensibler Daten, die Änderung von Seiteninhalten für Phishing-Angriffe oder die Ausführung von Aktionen im Namen des Benutzers, wie bereits im Abschnitt „Auswirkungen" beschrieben.
Das Vorhandensein einer gespeicherten XSS-Sicherheitslücke auf der Hauptseite des nicht authentifizierten Bereichs von ecodotempo.com.br stellt ein erhebliches Sicherheitsrisiko dar. Da das injizierte Skript dauerhaft gespeichert und jedem Benutzer, der die betroffene Seite aufruft, ausgeliefert wird, eröffnet es eine Reihe von clientseitigen Angriffen. Ein Angreifer könnte diese Schwachstelle ausnutzen, um beliebiges JavaScript im Browser ahnungsloser Besucher auszuführen, möglicherweise um Sitzungscookies zu stehlen, Benutzer auf schädliche Websites umzuleiten, ohne deren Zustimmung Aktionen im Namen der Benutzer durchzuführen oder Seiteninhalte für Phishing-Versuche zu manipulieren. Da die Schwachstelle in einem öffentlich zugänglichen Bereich liegt, steigt die Wahrscheinlichkeit einer großflächigen Ausnutzung, insbesondere durch automatisierte Bots oder gezielte Kampagnen, was das Vertrauen der Benutzer und die Integrität der Plattform untergraben könnte.
Um die auf der Hauptseite des nicht authentifizierten Bereichs von ecodotempo.com.br gefundene gespeicherte XSS-Sicherheitslücke zu beheben, sollten folgende Maßnahmen ergriffen werden:
Alle Benutzereingaben müssen sowohl client- als auch serverseitig ordnungsgemäß bereinigt und validiert werden, bevor sie gespeichert oder angezeigt werden. Insbesondere sollten Sonderzeichen wie <, >, ", ' und & in Eingaben, die im HTML-Kontext angezeigt werden, codiert werden, um die Ausführung von Skripten zu verhindern. Darüber hinaus sollte die Anwendung eine kontextabhängige Ausgabecodierung implementieren, je nachdem, wo die Daten eingefügt werden (HTML, JavaScript, Attribut, URL usw.).
Es wird außerdem dringend empfohlen, eine Content Security Policy (CSP) durchzusetzen, um die Ausführung nicht autorisierter Skripte einzuschränken und Inline-Skripte sowie das Laden externer Skripte aus nicht vertrauenswürdigen Quellen zu deaktivieren. Regelmäßige Code-Reviews und automatisierte Sicherheitstests (z. B. mit Tools wie OWASP ZAP oder Burp Suite) sollten in den Entwicklungslebenszyklus integriert werden, um ähnliche Schwachstellen zukünftig zu erkennen und zu verhindern.
Schließlich sollten bereits gespeicherte schädliche Payloads identifiziert und aus dem System entfernt werden, um bestehende Risiken zu beseitigen.