
PoC für CVE-2023-22432 (web2py)
Eine Sicherheitslücke (CVE-2023-22432) in web2py wurde am 31. Januar 2023 (US-Zeit) veröffentlicht. Dieser Artikel beschreibt unsere Diskussion dieser Sicherheitslücke und die Ergebnisse unserer Überprüfung.
Diese Sicherheitslücke ist eine Open-Redirect-Sicherheitslücke in web2py, die es erlaubt, eine beliebige URL als Callback-Ziel-URL in der Admin-Seiten-URL anzugeben. Ursprünglich wurden Gegenmaßnahmen gegen Open Redirects implementiert, aber diese Sicherheitslücke wird durch Anwendung einer speziellen Umgehungsmethode auf die URL reproduziert. Dies kann zu bösartigen Websites führen.
Eine Open-Redirect-Sicherheitslücke (CVE-2022-33146) wurde 2022 in web2py entdeckt, und wir fragten uns, ob es weitere Sicherheitslücken wie CVE-2022-33146 gibt. Daher überprüften wir den Quellcode von web2py und fanden einen Weg, den Open-Redirect-Schutz zu umgehen. (der Autor) von Aeye Security Lab meldete dies dem IPA und dem web2py-Entwicklungsteam.
Führen Sie build.sh in diesem Repository aus. Dann startet web2py.
bash build.sh
Greifen Sie auf http://localhost:8000/admin/default/index/?send=//example.com zu

Geben Sie das Passwort "password123" ein und klicken Sie auf Login.

Es erfolgte keine Weiterleitung zu example.com, daher funktionierte der Open-Redirect-Schutz gut.
Greifen Sie auf http://localhost:8000/admin/default/index/?send=\/\/example.com zu
Das Payload ist \/\/example.com.

Geben Sie das Passwort "password123" ein und klicken Sie auf Login.

Es erfolgte eine Weiterleitung zu example.com, daher funktionierte der Open-Redirect-Schutz nicht korrekt.
Nach Überprüfung und Verifikation haben wir bestätigt, dass es möglich ist, den Administrator durch Manipulation der Admin-Seiten-URL auf eine bösartige Website zu leiten. Wir empfehlen, das System so bald wie möglich zu aktualisieren.