Vor ein paar Wochen hab ich mich mal der Webseite des Online Brokers Cortal Consors gewidmet und dort, während ich eingeloggt war, nach Schwachstellen gesucht. Ich war dann doch erstaunt, dass ich in so einem sensiblen Bereich bereits nach wenigen Minuten fündig wurde und dort eine Cross-Site Scripting-Schwachstelle ausfindig machen konnte. Im Online-Archiv kann man die dort hinterlegten Dokumente unter anderem nach WKN filtern. Gab man dort etwas ein, womit das System nichts anfangen konnte, dann wurde diese Eingabe ungefiltert wieder ausgegeben. Kleingeschriebenes wird zwar in Großbuchstaben umgewandelt, einem erfolgreichen Cross-Site Scripting steht das aber nicht im Wege. Kurze Zeit später stand der PoC, mit dem die Sicherheitslücke demonstriert werden konnte:
Da das betroffene Formular kein CSRF-Token aufweist, hätte diese Sicherheitslücke auch über Cross Site Request Forgery ausgenutzt werden können. Dies unterstreicht meine Sichtweise, dass auch Formulare welche keine Zustandsänderung der Webanwendung bewirken, wie z.B. Suchfunktionen, mit einem CSRF-Token abgesichert werden sollten, um genau solche Schwachstellen nicht von außen Ausnutzbar zu machen.
Die Schwachstelle habe ich umgehend (am 21.06.) gemeldet und aufgrund der aus meiner Sicht hohen Kritikalität um schnelle Behebung gebeten. Irgendwann um den 04.07. herum war sie dann behoben. Seitdem ist man sofort ausgeloggt, wenn man im OnlineArchiv nach WKNs sucht, die z.B. das Zeichen "<" enthalten :-)