
cve-2018-8108
Bei einem Sicherheitstest wurde zufällig ein Problem entdeckt. bui ist ein Frontend-Framework, das von vielen Unternehmen verwendet wird, um ihre eigenen Frontends zu erstellen.
Normalerweise schützen wir uns vor XSS, indem wir Benutzereingaben grundsätzlich als nicht vertrauenswürdig behandeln, sie bei der Ausgabe escapen und an die Frontend-Seite zur Anzeige übergeben. Das select-Component von bui escapet jedoch bei der Darstellung dieser Ausgabe die bereits escapten Benutzereingaben erneut, sodass das XSS-Payload die vorhandenen Sicherheitsmechanismen umgeht und weiterhin ausgeführt wird.
Das beigefügte Beispiel stammt aus einem realen Fall.
Man kann sehen, dass die Daten im input-Tag mit der ID „workGroupList“ bereits escapt wurden. Unten ruft BUI.use bei der Verwendung des select-Components die Daten aus "workGroupList" ab und löst direkt die Ausführung des von uns eingegebenen XSS-Payloads aus.
Sie können es ausprobieren, indem Sie es ausführen.