↪️Open redirect
Outils dédiés aux open redirect
Outils
Dom-red
Dom-red est un outil permettant de tester les failles open redirect.
Exemple d'utilisation:
$ python dom-red.py -d <liste de domaines> -p <liste de payloads>
ressource: https://github.com/Naategh/dom-red
Open2Phish
Open2Pish est un outil de génération de wordlists de payloads d'open redirect et SSRF.
Exemple d'utilisation:
$ python3 open2phish.py -t target.com -d attacker.com
ressource: https://github.com/mathis2001/Open2Phish
Intigriti redirector
Outil de génération de wordlist en ligne: https://tools.intigriti.io/redirector/
Les types d'open redirect
Header based
Les open redirect basés sur en-tête utilise le header "Location:" dans la réponse HTTP pour rediriger l'utilisateur. Il s'agit donc d'une vulnérabilité côté serveur.
Javascript based
Les open redirect basés sur du javascript executent du code javascript dans le navigateur pour rediriger un utilisateur. Il s'agit donc d'une vulnérabilité côté client.
Detection
Le meilleur moyen de trouver des open redirect est de chercher des paramètres donc l'url est reflété soit dans un header Locaation dans la réponse, soit dans du code javascript.
Google dorks pour chercher des paramètres de redirection
Exploitation
Basé sur des paramètres
?redirect=http://hacker.com
?redirect=hacker.com
?redirect=.hacker.com
?http://hacker.com
...
Basé sur un en-tête referer
Créer une page comme celle ci-dessous sur le serveur attaquant puis pointer les en-têtes referer sur l'url du serveur.
SSRF via open redirect
Exemple:
stockApi=https://target.com/liens?redirect=https://127.0.0.1/admin
Open redirect to XSS (javascript based)
Open redirect => CRLF => XSS (Header based)
↩️CRLFbypass de filtre
Essayer d'utiliser un nom de domaine du type target.com.attacker.com si la cible semble utiliser une regex acceptant uniquement les urls qui commencent avec son nom de domaine.
Autres exemples:
Bypass par autocorrection du navigateur
Avec le schéma data
Via encoding
Exemples:
Avec des caractères non-ASCII
ressource: https://jlajara.gitlab.io/Bypass_WAF_Unicode
Dernière mise à jour