PROJET AUTOBLOG


Shaarli - Les discussions de Shaarli

Archivé

Site original : Shaarli - Les discussions de Shaarli du 23/07/2013

⇐ retour index

Facepalm du jour : (in)sécurité web avec Javascript

lundi 5 mai 2014 à 10:24
Kevin Vuilleumier, le 05/05/2014 à 10:24
Mon Dieu... Je regardais le code source de la page de login d'un site (dont l'absence de design en disait long) et je suis tombé sur une perle...

Déjà, je trouvais bizarre qu'il y ait une réimplémentation de MD5 en JS (seul code présent, d'ailleurs). Enfin soit, pourquoi pas, ça peut se justifier !

Je présentais un truc horrible et, malheureusement, mes craintes se sont trouvées fondées lorsque je suis tombé sur cette ligne (un peu modifiée pour des raisons de confidentialité et pour mieux y voir) :

<input name="login" type="submit" value="ENTRER" onClick="password.value = md5(md5(password.value) + 35755);">

Oui, regardez bien le code JS implémenté dans l'événement onClick : password.value = md5(md5(password.value) + 35755);

Visiblement, quelqu'un s'est renseigné sur comment sécuriser ses mots de passe, mais sans rien y comprendre au final oO

Ici, il fait un double hash MD5 du mot de passe (avec un sel)... c'est bien... mais du côté client !

Au final, ce hash sera envoyé au serveur et comparé tel quel avec celui stocké en BDD. Il est où l'intérêt ? Autant envoyer le mot de passe directement et le stocker en clair dans la BDD !

Évidemment, la connexion n'est pas sécurisée...
(Permalink)