Faille de sécurité HTML

Faille de sécurité HTML - HTML/CSS - Programmation

Marsh Posté le 05-02-2008 à 13:12:15    

Je viens de metre le doigt sur une faille assez importante qu'on peut mettre en place sur de très nombreux sites.
 
La barre Web Developper pour Firefox permet de modifier le code source d'une page (depuis l'onglet Miscellaneous). Jusqu'à là rien de très grave, mais là où ça devient plus embêtant c'est qu'on peut enregistrer ce code et continuer sur le site comme on le souhaite. Où est le problème ? Et bien tout simplement lorsqu'on est sur un formulaire, on peut ajouter des champs ou bien encore ajouter des options à un select. Ainsi, on a un champ select avec ce qu'on pourrait imaginer une valeur de champ limitée par x options mais en fait un utilisateur malveillant peut y ajouter tout et n'importe quoi ce qui ajoute en base une valeur non gérée et peux causer des troubles pour la gestion des données par la suite.
 
Je trouve que c'est particulièrement embêtant que l'utilisateur ait la possibilité de faire un peu ce qu'il veut en trifouillant et modifiant le code d'autant que c'est assez simple à faire et la seule solution que j'ai trouvée consiste au moment de l'ajout/modif dans la base de vérifier si les valeurs des champs select font partie de la liste autorisée, ce qui est particulièrement long à mettre en place.
 
Voilà, je voulais juste prévenir les créateurs de pae de cette info si ils n'étaient pas au courant. Il faut aussi faire très attention aux champs qui sont par exemple cachés pour un visiteur mais visibles pour un membre, car un visiteur avec cette astuce peut créer ce champ et lui donner la valeur qu'il veut.

Reply

Marsh Posté le 05-02-2008 à 13:12:15   

Reply

Marsh Posté le 05-02-2008 à 13:28:08    

http://img183.imageshack.us/img183/9095/obvious3lf9.jpg


Message édité par anapajari le 05-02-2008 à 13:28:37

---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 05-02-2008 à 13:30:47    

naglafar a écrit :

Où est le problème ? Et bien tout simplement lorsqu'on est sur un formulaire, on peut ajouter des champs ou bien encore ajouter des options à un select. Ainsi, on a un champ select avec ce qu'on pourrait imaginer une valeur de champ limitée par x options mais en fait un utilisateur malveillant peut y ajouter tout et n'importe quoi ce qui ajoute en base une valeur non gérée et peux causer des troubles pour la gestion des données par la suite.


Règle n°1, ne jamais faire confiance aux données qui arrivent. Pas besoin de modifier un select, on peut aussi modifier directement la requête HTTP pour modifier la valeur transmise. Il faut toujours tout vérifier, surtout pour ce genre de champ (select, radio, checkbox).

Reply

Marsh Posté le 05-02-2008 à 13:56:05    

naglafar a écrit :

Je viens de metre le doigt sur une faille assez importante qu'on peut mettre en place sur de très nombreux sites.
 
La barre Web Developper pour Firefox permet de modifier le code source d'une page (depuis l'onglet Miscellaneous). Jusqu'à là rien de très grave, mais là où ça devient plus embêtant c'est qu'on peut enregistrer ce code et continuer sur le site comme on le souhaite. Où est le problème ? Et bien tout simplement lorsqu'on est sur un formulaire, on peut ajouter des champs ou bien encore ajouter des options à un select. Ainsi, on a un champ select avec ce qu'on pourrait imaginer une valeur de champ limitée par x options mais en fait un utilisateur malveillant peut y ajouter tout et n'importe quoi ce qui ajoute en base une valeur non gérée et peux causer des troubles pour la gestion des données par la suite.
 
Je trouve que c'est particulièrement embêtant que l'utilisateur ait la possibilité de faire un peu ce qu'il veut en trifouillant et modifiant le code d'autant que c'est assez simple à faire et la seule solution que j'ai trouvée consiste au moment de l'ajout/modif dans la base de vérifier si les valeurs des champs select font partie de la liste autorisée, ce qui est particulièrement long à mettre en place.
 
Voilà, je voulais juste prévenir les créateurs de pae de cette info si ils n'étaient pas au courant. Il faut aussi faire très attention aux champs qui sont par exemple cachés pour un visiteur mais visibles pour un membre, car un visiteur avec cette astuce peut créer ce champ et lui donner la valeur qu'il veut.


Cela ne devrais jamais arriver si le developpement web est maitrisé. Chaque données potentiellement transmise par un utilisateur doit etre systématiquement controlée !

Reply

Marsh Posté le 05-02-2008 à 18:08:45    

Ok, je vois que c'est plutôt moi qui faisait preuve de naïveté et que vous semblez tous vous préoccuper de ce problème :D  
 
Enfin peut-être que mon message aura servi à certains qui comme moi avant aujourd'hui faisait confiance au contenu du html

Reply

Marsh Posté le 12-02-2008 à 14:14:57    

don't trust anything...
 
je contrôle systématiquement le contenu de toutes mes variables

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed