
PoC pour CVE-2023-22432 (web2py)
Une vulnérabilité (CVE-2023-22432) dans web2py a été divulguée le 31 janvier 2023 (heure américaine). Cet article décrit notre discussion sur cette vulnérabilité et les résultats de notre vérification.
Cette vulnérabilité est une vulnérabilité de redirection ouverte dans web2py qui permet de spécifier une URL arbitraire comme URL de destination de rappel dans l'URL de la page d'administration. Des contre-mesures contre les redirections ouvertes ont été initialement implémentées, mais cette vulnérabilité est reproduite en appliquant une méthode de contournement spéciale à l'URL. Cela peut vous conduire vers des sites malveillants.
Une vulnérabilité de redirection ouverte (CVE-2022-33146) a été découverte dans web2py en 2022, et nous nous sommes demandé s'il existait d'autres vulnérabilités comme CVE-2022-33146, nous avons donc vérifié le code source de web2py, et nous avons trouvé le moyen de contourner la prévention de redirection ouverte. (l'auteur) d'Aeye Security Lab a signalé cela à l'IPA et à l'équipe de développement de web2py.
Exécutez build.sh dans ce dépôt. Ensuite, web2py démarrera.
bash build.sh
Accédez à http://localhost:8000/admin/default/index/?send=//example.com

Saisissez le mot de passe "password123", et cliquez sur Connexion.

Cela n'a pas redirigé vers example.com, donc la prévention de redirection ouverte a bien fonctionné.
Accédez à http://localhost:8000/admin/default/index/?send=\/\/example.com
La charge utile est \/\/example.com.

Saisissez le mot de passe "password123", et cliquez sur Connexion.

Cela a redirigé vers example.com, donc la prévention de redirection ouverte n'a pas fonctionné correctement.
Après examen et vérification, nous avons confirmé qu'il est possible de diriger l'administrateur vers un site web malveillant en manipulant l'URL de la page d'administration. Nous recommandons de mettre à jour le système dès que possible.