Allowlist Bypass : Owasp Juice Shop
Challenge : Allowlist Bypass
Allowlist Bypass : Owasp Juice Shop
Challenge : Allowlist Bypass
Forcer une redirection vers une page à laquelle vous n’êtes pas censé accéder.
Analyse
En explorant le fichier main.js et en recherchant explicitement le mot-clé “redirect”, nous découvrons :
- Un endpoint /redirect
- Une logique de redirection associée
En suivant ce chemin, nous constatons que le serveur redirige effectivement vers certaines pages. L’objectif est maintenant de tester si nous pouvons rediriger vers une URL externe non autorisée.

/redirect
Etapes de reproduction
- Tentative d’accès direct vers une URL externe :

error
http://127.0.0.1:42000/redirect?to=https://medium.com/@4th3n4x
Résultat : erreur, ce qui indique qu’un filtre est appliqué. Nous supposons l’existence d’une allowlist, c’est-à-dire une liste blanche des URLs autorisées.
2. Test de contournement :

mais.js
En ajoutant à notre URL un paramètre imbriqué ?to=<URL> sur une URL autorisée, nous observons que la redirection fonctionne :
Par exemple : https://github.com/juice-shop/juice-shop
http://127.0.0.1:42000/redirect?to=https://medium.com/@4th3n4x/?to=https://github.com/juice-shop/juice-shop

Nous avons été redirigé vers ma page Medium.
Remédiations
- Whitelist stricte : Comparer le domaine exact ou l’URL complète avec une liste prédéfinie
- Éviter les paramètres imbriqués : Ne pas accepter que des paramètres ?to= externes soient inclus dans les URLs autorisées.
- Mapping interne : Rediriger uniquement vers des identifiants internes mappés vers des URLs sûres :
메타데이터
- post_id
- 2e4511a2bbff
- slug
- allowlist-bypass-owasp-juice-shop-2e4511a2bbff
- url
- https://medium.com/@4th3n4x/allowlist-bypass-owasp-juice-shop-2e4511a2bbff
- canonical_url
- https://medium.com/@4th3n4x/allowlist-bypass-owasp-juice-shop-2e4511a2bbff
- author_url
- https://medium.com/@4th3n4x
- status
- ok
- fetched_at
- 2026-06-16 19:09:56