Redirections ouvertes : quand un vrai lien de confiance mène chez le pirate
On survole un lien, on voit apparaître google.com ou le nom d'un site que l'on connaît bien, et on clique sans se méfier. Pourtant, on atterrit sur une page de phishing. Ce n'est ni une erreur d'affichage ni une usurpation d'adresse : le lien menait vraiment, au départ, vers le vrai site. C'est la mécanique d'une redirection ouverte (open redirect).
Qu'est-ce qu'une redirection ouverte ?
Beaucoup de sites proposent une fonctionnalité tout à fait légitime : rediriger un visiteur vers une autre adresse après une action, par exemple après une connexion, un clic sur un lien sponsorisé, ou un raccourcisseur de lien. Le site reçoit dans son URL l'adresse de destination, puis renvoie le navigateur vers cette adresse.
La faille apparaît quand le site accepte n'importe quelle adresse de destination, sans vérifier qu'elle fait partie d'une liste autorisée. Les développeurs ont construit un service de redirection utile ; ils ont simplement oublié d'en fermer la porte de derrière. N'importe qui peut alors fabriquer un lien qui commence par le nom du site de confiance, mais qui termine sa course ailleurs, chez le pirate.
Anatomie d'un lien piégé
Prenons un exemple de structure, volontairement simplifiée :
https://www.google.com/url?q=https://site-pirate.example
Ce lien s'ouvre bien sur les serveurs de Google : le nom de domaine google.com est authentique, et rien dans la barre d'adresse ne ment à ce sujet. Mais le paramètre ?q= transporte une seconde adresse, qui devient la destination réelle une fois la redirection déclenchée. Les mêmes ressorts se retrouvent avec d'autres noms de paramètres tout aussi courants : ?dest=, ?redirect=, ?target=, ?next=, ou encore ?url=. Repérer l'un de ces mots-clés juste après un point d'interrogation, suivi d'une seconde adresse web, est le signal le plus simple à surveiller.
Pourquoi les pirates adorent cette technique
Cette méthode résout deux problèmes à la fois pour un pirate.
- Contourner les filtres antispam. Les passerelles de sécurité des messageries (les Secure Email Gateways) attribuent une note de confiance aux domaines présents dans un e-mail. Un lien qui commence par un domaine extrêmement réputé, comme celui d'un moteur de recherche ou d'un grand réseau social, obtient souvent une note excellente, même si la case du filtre ne regarde jamais la partie cachée du lien.
- Manipuler la lecture humaine. Une personne prudente a appris à vérifier le nom de domaine avant de cliquer. Face à ce type de lien, cette vérification tourne contre elle : elle voit bien le nom de la marque officielle, tout au début de l'adresse, et s'arrête là, sans lire la suite.
Le procédé profite ainsi d'une confiance à la fois technique (le score du filtre antispam) et humaine (le réflexe de lecture), sans avoir à imiter ni le domaine ni les serveurs du site de confiance.
Sous le capot : codes 301, 302, et redirections en chaîne
Techniquement, une redirection se joue en une réponse très courte du serveur au navigateur. Le serveur répond par un code de statut HTTP, sans afficher de page visible : 302 pour une redirection temporaire, 301 pour une redirection permanente. Le navigateur obéit aussitôt et charge l'adresse suivante, sans que l'utilisateur ne voie quoi que ce soit passer.
Rien n'empêche d'enchaîner plusieurs redirections à la suite : un domaine A, très réputé, vers un domaine B, plus modeste et vulnérable à son tour, vers la page de phishing finale. Chaque maillon supplémentaire brouille un peu plus la piste et complique le travail de qui voudrait remonter jusqu'à l'origine du lien simplement en le regardant.
Comment repérer le piège et réagir
La bonne méthode consiste à lire l'adresse complète, de gauche à droite, sans s'arrêter au premier nom reconnu. Le signal à chercher est simple : un second http:// ou https:// caché plus loin dans la même ligne annonce presque toujours une redirection ouverte, tout comme la présence d'un paramètre du type ?q= ou ?url= juste avant. Cette vigilance rejoint celle qu'exige la lecture d'un nom de domaine trompeur par d'autres moyens, comme les lettres qui se ressemblent : voir le guide Punycode et homographes.
Pour vérifier une destination sans prendre aucun risque, on peut coller l'adresse dans un résolveur de liens en ligne, ou lancer une commande curl -I depuis un terminal : le serveur répond avec le code de redirection et la destination finale, sans jamais charger la page dans un navigateur.
Deux signalements sont utiles, et concernent deux acteurs différents. On prévient d'abord l'entreprise dont le domaine sert de point de départ (par exemple via son formulaire de sécurité ou son adresse dédiée aux vulnérabilités), pour qu'elle corrige le paramètre non vérifié dans son code. On prévient ensuite l'hébergeur de la page d'arrivée, exactement comme pour n'importe quelle page de phishing (voir trouver la bonne adresse d'abus chez un hébergeur), puisque c'est lui qui peut la faire disparaître.
Un e-mail qui contient ce genre de lien reste, par ailleurs, un e-mail envoyé par un vrai serveur, avec sa propre trace : voir le guide Analyser un phishing : du message à l'infrastructure. En collant l'e-mail complet dans Baitback, l'outil suit lui-même toute la chaîne de redirections jusqu'à la page finale, sans qu'il soit nécessaire de cliquer ou d'ouvrir un terminal.
- Une redirection ouverte est une fonctionnalité légitime détournée : le site de départ est réel, la destination ne l'est pas forcément.
- Les paramètres à surveiller ressemblent à
?q=,?url=,?redirect=,?dest=,?target=ou?next=. - Cette technique trompe à la fois les filtres antispam, grâce à la réputation du premier domaine, et la lecture humaine, qui s'arrête souvent trop tôt.
- Les codes 301 et 302 permettent d'enchaîner plusieurs redirections invisibles avant d'arriver à la page piégée.
- Il faut lire le lien en entier et signaler à la fois le site de départ (pour qu'il corrige la faille) et l'hébergeur de la page finale.