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.1.3 Parade et bonnes pratiques

Les différentes attaques citées précédemment reposent principalement sur l'utilisation de caractères spécifiques qui permettent de mettre en commentaire des portions de code et d'insérer du code frauduleux. Il est cependant rare que l'application ait besoin d'accepter les caractères suivant.

& ~ " # ' { } ( [ ] ( ) - | ` _ \ ^ @ \ * / . < > , ; : ! $

Figure 9 - Caractères spéciaux communément utilisés dans les attaques d'injection

Cependant les applications Web de gestion de contenu comme les forums doivent les accepter, notamment les forums utilisés par les développeurs pour partager du code. Dans ce cas, il faut transformer aux moins les caractères suivants en code HTML avant de les stocker dans la base de données. L'affichage de l'information ne sera pas différent pour l'utilisateur, mais les données seront plus sûres.

Bien qu'un site puisse subir différents types d'attaques par injection, il suffit de vérifier que les caractères utilisés sont ceux attendus. Ce contrôle doit être effectué au niveau du client grâce à JavaScript et au niveau du serveur lorsque les paramètres sont récupérés pour fermer la faille de sécurité. Par exemple MySQL offre une fonctionnalité qui permet de transformer ces caractères.

<?php$nouvelleValeur=htmlspecialchars($valeurParametre,ENT_QUOTES); ?>

Figure 10 - Script PHP pour remplacer les caractères par le code HTML

De plus il faut vérifier que les valeurs sont bien du type et du format attendu (longueur, intervalle de valeur, ...)

L'ANSSI porte une attention particulière aux outils automatiques d'exploitation des failles SQL dans son bulletin de sécurité CERTA-2011-ACT-045. Pour déterminer si un site est victime de ce type d'agression, il faut vérifier dans les journaux d'activité du serveur http qu'il n'y a pas d'évènement inhabituel, tel qu'un nombre de requêtes http anormalement élevé ou des requêtes ayant pour paramètres des valeurs inappropriées.

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








"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984