Bei seinen Untersuchungen fand Qualys zudem zwei Webanwendungen, die für Open-Redirect-Angriffe auf der Login-Seite verwundbar sind, da sie keinerlei Gegenmaßnahmen implementiert haben. Ein Angreifer könnte nun seinem Opfer einen Link wie http://example.com/login?toURL=http://evil.com/login schicken. Da der anfällige Link identisch mit der Original-Site ist, wird der Nutzer ihn für vertrauenswürdig halten und die gültigen Anmeldeinformationen eingeben. Danach wird er auf die Seite http://evil.com/login umgelenkt, die ihn noch einmal nach seinen Anmeldedaten fragt, weil die erste Eingabe angeblich ungültig war. Auf diesem Weg lässt sich ein einfacher und effizienter Phishing-Angriff inszenieren.
Gegenmaßnahmen greifen nicht immer
Manche Webanwendungen implementieren Gegenmaßnahmen, die aber nicht robust genug sind, um die Open-Redirect-Schwachstelle zu beseitigen. Eine Webanwendung in der Untersuchung war verwundbar für eine ungeprüfte Umleitung, weil die vorgesehene Schutzmaßnahme nicht ausreichte.
Nennen wir die anfällige Seite http://example.com/view_topic?view=/topic1.html. Die Webanwendung führte eine Eingabeprüfung für den Parameter view durch. Wenn der Wert des Parameters view mit http oder https begann, wurde eine Fehlermeldung ausgegeben, die besagte, dass die Seite nicht gefunden wurde. Beispielsweise wurde eine Fehlermeldung angezeigt, wenn http://example.com/view_topic?view=http://www.qualys.com angefordert wurde, da der Wert mit http beginnt. Wurde hingegen http://example.com/view_topic?view=//www.qualys.com angefordert, wurde der Nutzer ohne Fehlermeldung auf http://www.qualys.com umgeleitet.
Angriffe über den Referer-Header
Wie oben bereits beschrieben, war der Ansatzpunkt für die ungeprüfte Umleitung in Moodle der referer-Header. Viele Gegenmaßnahmen implementieren dafür keine Beschränkung oder Validierung. Es empfiehlt sich, das zu tun, was Moodle dann getan hat - die Umleitung auf nicht-lokale Websites zu verhindern.
Die beste Strategie zur Entschärfung einer Open-Redirect-Schwachstelle besteht darin, die potenziellen Risiken schon vor der Implementierungsphase auszuräumen. Mit einem Web Application Scanning (WAS) sowie einem Programm für sichere Software-Entwicklung können Entwickler ihre Anwendungen in verschiedenen Phasen des Entwicklungsprozesses auf diese Schwachstelle testen.
Den Untersuchungen zufolge lassen die meisten Webanwendungen Umleitungen auf andere Domains nicht bewusst zu. Um ungewollte Umleitungen zu verhindern, sollten die Entwickler robuste Strategien zur Eingabeprüfung implementieren, sodass alle Anfragen, bei denen der Nutzer auf andere Domains geleitet würde, abgelehnt oder umgeschrieben werden. Sollen Umleitungen für mehrere Domains ermöglicht werden, sollten User diese Domains in eine Whitelist aufnehmen und nur eine Umleitung auf Links in dieser Whitelist zulassen. Soll eine Umleitung auf Drittanbieter-Websites ermöglicht werden, ist es wichtig, die Nutzer darauf aufmerksam zu machen, dass sie auf die Website eines Dritten geleitet werden.
Dingjie Yang ist Web Application Security Engineer bei Qualys.