160 likes | 381 Views
Les Redirections et renvois non validés. Par: simon villiard. Introduction. La redirection Utiliser couramment Important de sécuriser Se fait à l’externe Ne s’attaque pas directement à votre application web. Présentation du problème.
E N D
Les Redirections et renvois non validés Par: simonvilliard
Introduction • La redirection • Utiliser couramment • Important de sécuriser • Se fait à l’externe • Ne s’attaque pas directement à votre application web
Présentation du problème • Lorsque qu’une application web effectue un changement de page en fonction d’un paramètre et accepte ces derniers sans les validés d’abord, ce qui cause la redirection de certaines requêtes vers des sites malicieux.
Environnements affectés • Toutes applications web qui: • Utilise la redirection • Contient des utilisateurs • (Inclus aussi les pertes de mots de passes)
Raisons principales • Attaques par hameçonnage (phishing). • Téléchargement de virus et malware.
Exemples de cas • Sur un forum, un utilisateur affirme qu’il a été capable d’accéder à un nouveau jeux avant qu’il sorte sur Vapor™ alors il écrit: • Aller télécharger HugoWorld™ j’ai trouver un moyen de le télécharger à l’avance: http://www.vapor.com/redirect.jsp?url=evil.com/download/hgwrld.exe Url habituel Url malicieux • Quelqu’un vous envoi un e-mail comme quoi que votre compte a été hacker et que vous devez réinitialiser votre mot de passe: • Votre compte n’est plus sûr. Réinitialiser votre mot de passe ici: https://accesd.desjardins.com/redirect.jsp?url=phishingsite.com
Problème • Les redirections se font à partir de l’url qui a été entrer. • string url = request.QueryString["url"]; Response.Redirect(url);
Bonnes pratiques • Entrer l’url explicitement dans le code • Response.Redirect("~/folder/Login.aspx")
Solutions et préventions • Rediriger seulement vers des pages locales • Éviter la redirection et le renvoi • Valider l’url avant de rediriger (s’assurer que le lien est légitime) • Créer un fichier de liste d’URL de confiance (Apache: « .htaccess ») • Forcer les redirection à passer par une page notifiant l’utilisateur qu’il quitte votre site <IfModulemod_alias.c> #redirection automatique d’une page vers une nouvelle adresse Redirect permanent /dossier01/script_1.html http://nouvelle.adresse.fr/dossier03/script_1.php #redirection automatique d’un ensemble de pages RedirectMatch permanent /dossier01/(.*)\.html$ http://nouvelle.adresse.fr/dossier02/$1.php #redirection automatique d’un dossier vers une nouvelle adresse Redirect permanent /dossier01 http://nouvelle.adresse.fr/dossier02 #redirection automatique de toute l’application Web une nouvelle adresse Redirect permanent / http://nouvelle.adresse.fr/ </IfModule>
Conclusion • Questions? • Commentaires?
Bibliographie • Articles: • https://www.owasp.org/index.php/Unvalidated_Redirects_and_Forwards_Cheat_Sheet • http://coupdeklaxon.ca/wp-content/uploads/2012/12/failles_de_securite_v1-3.pdf • http://coupdeklaxon.ca/wp-content/uploads/2012/12/OWASP-Top-10-2013-French-1.pdf • Vidéos: • http://www.youtube.com/watch?v=kl_TMG2kiEI