Open redirect

Description

L'application Web permettait à tous les utilisateurs de télécharger des images d'avatar. Après avoir essayé de trouver sans succès des vulnérabilités de la fonctionnalité de téléchargement, j'ai essayé de suivre mon image d'avatar dans une nouvelle fenêtre et j'ai vu que l'application utilisait un paramètre appelé "u" pour rediriger vers l'un des sous-domaines de l'entreprise utilisant une api pour la stocker. Ce paramètre en trompant la regex de vérification de domaine était vulnérable aux redirections ouvertes.

Exploitation

https://img.exemple.xyz/?u=https%3a%2f%2fattacker.xyz%2f

  • J'ai donc d'abord essayé de me renseigner sur de potentielles vulnérabilités sur golang en me basant sur cette erreur sans succès.

  • Puis je me suis reconcentré sur les open redirect par la suite, j'ai alors tenter de manipuler la regex utilisée pour vérifier le domaine d'origine en ajoutant simplement ".attacker.xyz" puis "@attacker.xyz" mais cela n'a pas fonctionné.

  • J'ai finalement réussi à contourner la validation à l'aide du caractère URL encodé "%ff" donnant l'url finale suivante.

https://img.exemple.xyz/?u=https%3a%2f%2fattacker.xyz%ffxyz-api.exemple.xyz

Risques

Les attaquants peuvent exploiter cette vulnérabilité afin d'inciter les utilisateurs à visiter un site Web malveillant qui peut voler leurs informations sensibles, installer des logiciels malveillants sur leur appareil ou effectuer d'autres actions malveillantes.

Les vulnérabilités de redirection ouverte sont un vecteur d'attaque courant pour les campagnes de phishing, car les attaquants peuvent créer un lien d'apparence convaincante vers un site légitime, mais qui redirige en fait l'utilisateur vers une fausse page de connexion conçue pour voler ses informations d'identification.

Open redirect via paramètre callback sans vérification

Description

L'application web contenait une fonctionnalité permettant d'envoyer un lien par SMS ou email à un client lui demandant de lier son compte bancaire à l'application afin de récupérer son historique de transactions. Celle-ci fournissait la documentation de ses API donc celle se chargeant de cette liaison. La requête permettant d'envoyer le lien en question contenait un paramètre caché nommé "callbackUrl" qui n'était donc pas utilisée par défaut par les utilisateurs mais probablement par les développeurs le callback étant par défaut fait vers un endpoint statique.

Exploitation

  • J'ai intercepté la requête de génération de lien.

  • J'ai ajouté le paramètre caché "callbackUrl" pointant vers mon burp collaborator.

  • J'ai suivi le lien généré et complété la connexion avec ma banque pui ai été redirigé vers le burp collaborator après avoir validé la demande sur mon application mobile (à la fin du processus lors normalement de la redirection vers le domaine de l'entreprise).

Risques

Le risque principal ici serait un scénario dans lequel un acteur malveillant abuse du contexte de la fonctionnalité pour ce faire passer pour une banque et hameçonner le client afin de voler ses idantifiants bancaires.

Open redirect vers une application du play store arbitraire

Description

L'entreprise vulnérable propose des applications mobiles dont les deeplinks sont gérées via un sous-domaine https://app.redacted.com. Lorsque l'application est installé sur l'appareil, un deeplink permet de rediriger l'utilisateur sur l'application. Cependant, si celle-ci n'est pas installé, alors l'utilisateur est redirigé vers la page associée sur le playstore.

Exploitation

  • Pour trouvé l'endpoint vulnérable, j'ai combiné deux de mes outils (WebHackUrls et ParamFirstCheck) afin de filtrer les urls de l'entreprise ayants été archivés.

  • J'ai ainsi trouvé une url sur https://app.redacted.com utilisant un paramètre "link" redirigeant vers une url du domaine principal de l'entreprise qui lui même faisait une deuxième redirection.

  • J'ai alors essayé des open redirect conventionnels et des contournement pour la whitelist en place mais ceci sans succès.

  • Je n'ai alors pas eu d'autre choix que te tenter d'effectuer des actions malveillantes en passant par les domaines whitelistés dont https://play.google.com faisait donc partie d'après certaines fonctionnalités du sous-domaine.

  • J'ai alors ensuite tout simplement abusé de la confiance envers le play store de Google afin de faire pointer le paramètre link de l'url vers une application arbitraire n'étant pas du tout celui de l'entreprise.

Risques

En utilisant cette vulnérabilité, un attaquant est capable de manipuler un potentiel client intéréssé par l'application de l'entreprise afin de lui faire télécharger un "clone" malicieux de l'application ou encore l'application d'un concurrent.

Rewards

Last updated