La plupart des attaques d'applications web consistent à solliciter le site avec
des données saisies manuellement afin de provoquer un contexte non prévu.
Le protocole HTTP, support de la communication sur
le web, permet de véhiculer des paramètres sous formes de requêtes
de plusieurs façons :
Il est essentiel de comprendre que tous ces moyens de transmission
de données peuvent être manipulés sans problème par un utilisateur
et par conséquent que les données utilisateurs ne doivent pas être
considérées comme fiables.
De cette manière, il est impossible de baser la sécurité sur
des contrôles réalisé du côté du client
(valeurs proposées par un formulaire HTML ou par codes
Javascript vérifiant l'exactitude des données).
De plus, l'établissement d'une connexion SSL ne
protège en rien contre la manipulation des données transmises, elle
ne fait que certifier la confidentialité du transport de l'information entre
l'utilisateur final et le site web.
Ainsi, tout concepteur d'application web doit nécessairement
effectuer un contrôle des données, tant sur leur valeur
(minimum et maximum pour une donnée numérique, contrôle des
caractères pour une chaîne), que sur leur type et leur longueur.
|