I. Introduction▲
I-A. Remerciements▲
Je remercie Yogui, pour son soutien depuis que je suis rentré dans la rédaction de developpez et pour ses corrections.
Je remercie toutes les personnes qui m'ont aidé à peaufiner cet article, et ceux qui m'ont encouragé après la lecture (ça fait toujours plaisir).
Je remercie toutes les personnes qui interviennent de près ou de loin à l'élaboration de ces articles liés à la sécurité.
I-B. Prérequis▲
Théorique
Ce cours s'adresse aux débutants ayant malgré tout un savoir suffisant en PHP pour exploiter correctement les sessions.
Les codes source proposés ici ne sont pas vraiment compliqués, mais une bonne connaissance du web et du rôle de chaque langage (notamment PHP et JS) est nécessaire pour les déployer.
Software
Tous les exemples/sources présentés ici ont été réalisés sous Wamp 1.6.6, utilisant PHP 5.2.0.
Il faudra bien évidemment un navigateur Internet avec Javascript activé. Pour afficher mes exemples, j'ai utilisé Firefox 2.0.0.1.
Pour voir le résultat des attaques et les solutions, nous allons utiliser Ethereal, qui est devenu depuis peu Wireshark. Ce logiciel écoute le réseau et capture absolument tout.
Je montrerai ici plusieurs captures d'écrans qui reflètent les propos énoncés, je vous invite à vérifier vous-même la facilité d'exécution de la plupart des tests que je réaliserai.
I-C. Préambule▲
Les techniques décrites ici protègent de l'attaque du « Man in the middle ». Elles ne sont pas spécifiques à PHP et Javascript et sont utilisables avec tous les langages Web.
Elles sont fondées sur l'utilisation de techniques de chiffrement et de hash.
Pour commencer, vous devons bien comprendre la différence entre chiffrement et hashage. Pour cela, vous pouvez vous référer au dictionnaire : Hashage et Chiffrement