web-dev-qa-db-fra.com

La redirection vers un autre site est-elle sûre?

Disons que j'ai un site Web à https://example.com/test. Chaque fois que quelqu'un accède à ce site, je veux simplement le rediriger vers https://example.com/Test.

Y a-t-il des vulnérabilités possibles ici? Ou cette méthode est-elle sûre puisque tout ce que je fais, c'est rediriger d'un site sécurisé vers un autre?

10
alex067

/test et /Test sont tous les deux hébergés sur example.com… il ne s'agit donc que d'une redirection de page et non d'une redirection de domaine… ce n'est pas un problème.

Les gens redirigent comme ça tout le temps, par exemple, la redirection de HTTP vers HTTPS est à peu près la norme de l'industrie à ce stade.

29
CaffeineAddiction

Mis en œuvre correctement, cela ne pose aucun problème.

Il y a deux choses que vous devez rechercher (je suppose que test n'est pas statique ici, mais fourni par l'utilisateur, donc vous voulez par exemple mettre en majuscule chaque chemin):

  • Redirection ouverte: si votre redirection n'est pas implémentée correctement, il pourrait être possible pour un attaquant de rediriger en dehors de votre domaine, ce qui pourrait être utilisé dans des attaques de phishing
  • CSRF: si votre protection CSRF n'est qu'une simple vérification de référent (ce qui n'est pas recommandé), et si vous avez des demandes GET à changement d'état (ce qui n'est également pas recommandé), celles-ci peuvent être exploitables, selon votre implémentation de la mécanisme de redirection
17
tim

Rediriger les utilisateurs vers une page ou un domaine différent est une pratique normale suivie par de nombreux développeurs (même les MNC, y compris FB, les redirections fb.com vers facebook.com). Ce n'est pas un problème si vous essayez de rediriger les demandes de manière sécurisée.

Vous voudrez peut-être vérifier OWASP Cheat Sheet for Unvalidated Redirects and Forwards (Aussi appelé Redirection ouverte). Ce document fournit des moyens sécurisés de rediriger les URL dans plusieurs langages de programmation.

8
Suraj

Dans la mesure où hostname reste le même et votre utilisateur lui fait confiance. Cela ne devrait pas être un problème.

Ce type de redirection est courant sur Internet et aide à fournir une meilleure expérience utilisateur.

Par exemple:

vous avez une ressource à https://testwebsite.com/Test mais en raison d'une faute de frappe ou d'une erreur du développeur, il est écrit comme https://testwebsite.com/test. La redirection aidera l'utilisateur à voir un fichier approprié au lieu de voir un 404 file not found erreur ou Internal server error.

0
apoorv kapil