Bienvenue dans le Bac à Sable !


      Retour à la liste des mises en situation.


Imaginez que ce qui suit est un endroit pour acheter des livres.
Seléctionnez Livre1 et cliquez sur "Acheter".
Vous pouvez voir qu'on vous indique que vous avez bien acheté le Livre1 à 20€.
Puis regardez l'URL:
https://www.leblogduhacker.fr/sandbox/apw.php?livre1=on&prix=20&submit=Acheter
Maintenant changez l'URL de votre navigateur par :
https://www.leblogduhacker.fr/sandbox/apw.php?livre1=on&prix=2&submit=Acheter
Appuyez sur entrée, et vous avez maintenant "acheté" le livre à 2€ !
Livre1 (20€)

Explications et contre-mesures

Le prix est défini dans des balises cachées dans le code HTML mais ne sont pas vérifiées par la suite.
Il ne faut jamais faire confiance à l'utilisateur et toujours filtrer les données entrées du côté serveur.
Ici, se fier à un paramètre GET (ou POST) non filtré donne la possibilité à un utilisateur malsain d'exploiter votre ignorance.