WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Les principales failles de sécurité des applications web actuelles, telles que recensées par l'OWASP: principes, parades et bonnes pratiques de développement

( Télécharger le fichier original )
par Guillaume HARRY
Conservatoire national des arts et métiers - Ingénieur 2012
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

4.10 Redirection et renvois non validés

4.10.1 Principe

Les redirections d'adresse sont utilisées dans les applications Web pour effectuer un changement de page en fonction d'un paramètre.

L'utilisation de la redirection est particulièrement utilisée pour les attaques par hameçonnage (ou phishing). En cliquant sur un lien utilisant une page de redirection, l'utilisateur est automatiquement emmené vers une autre page. Cette redirection peut être utilisée dans le cadre d'une attaque CSRF (voir paragraphe 3.5).

4.10.2 Exemples d'attaque

Le script suivant est un exemple de page de redirection en utilisant la redirection par code HTML.

<?php$nouvelleAdresse='http://nouvelle.adresse.fr/index.php'; if (isset($_GET['adresse'])) { $nouvelleAdresse=$_GET['adresse'];}echo '<!DOCTYPE html>'."\n", '<html xmlns="http://www.w3.org/1999/xhtml">'."\n", '<head>'."\n", '<meta charset="UTF-8" />'."\n", //Redirection HTML : '<meta http-equiv="refresh" content="0; url='.$nouvelleAdresse.'" />'."\n", '<title>Redirection</title>'."\n", '<meta name="robots" content="noindex,follow" />'."\n", '</head>'."\n", "\n", '<body>'."\n", //au cas où la redirection ne fonctionne pas : '<p><a href="'.$nouvelleAdresse.'">Redirection</a></p>'."\n",  '</body>'."\n", '</html>'."\n";?>

Figure 23 - Script PHP de redirection automatique

Si un attaquant a connaissance d'une page de redirection vulnérables, il peut l'utiliser dans un lien pour faire rediriger l'utilisateur vers une page Web.

<a href="http://www.application-securisee.com/redirect.php?www.attaquant.com/attaque.php" rel="nofollow">http://www.application-securisee.com</a>

Figure 24 - Lien pour rediriger l'utilisateur vers une page malveillante

Dans ce cas l'utilisateur est leurré. Le lien pointe bien vers l'application, mais va le rediriger vers une page malveillante.

4.10.3 Parade et bonnes pratiques

La redirection ne doit renvoyer qu'à des pages locales. Dans ce cas les caractères spéciaux doivent être prohibés.

En cas de changement d'adresse ou de déplacement d'une page, il vaut mieux utiliser la redirection paramétrée dans le serveur http. Par exemple avec Apache il est possible de placer un fichier « .htaccess » pour paramétrer les redirections automatiques.

<IfModule mod_alias.c>#redirection automatique d'une page vers une nouvelle adresseRedirect permanent /dossier01/script_1.html 
http://nouvelle.adresse.fr/dossier03/script_1.php#redirection automatique d'un ensemble de pagesRedirectMatch permanent /dossier01/(.*)\.html$ 
http://nouvelle.adresse.fr/dossier02/$1.php#redirection automatique d'un dossier vers une nouvelle adresseRedirect permanent /dossier01 
http://nouvelle.adresse.fr/dossier02#redirection automatique de toute l'application Web une nouvelle adresseRedirect permanent / http://nouvelle.adresse.fr/</IfModule>

Figure 25 - Exemple de redirection automatique configurée au niveau du serveur http

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Nous voulons explorer la bonté contrée énorme où tout se tait"   Appolinaire