Hijacking: une attaque sans identifiants

Sommaire
Le détail du hijacking⌗
Pour vous expliquer plus simplement, pour le web, on se base sur un token pour pouvoir se connecter à nos espaces personnels et également communiquer quel utilisateur nous sommes parmi tous ceux enregistré. Ce token est également stocké dans un cookie de votre navigateur. C’est ce token que l’attaquant essaiera de subtiliser. De ce fait, nous pouvons schématiser l’attaque de cette manière:
Dans un premier temps, l’utilisateur lamba se connecte à son site. Sauf que, manque de bol, aujourd’hui le site est infecté par un code malicieux. Lors du chargement de la page, le script va tout simplement s’amuser à récupérer les cookies, les formater (généralement en JSON) et les envoyer sur un autre serveur pour que l’attaquant puisse analyser et utiliser ce qui a été envoyé. Pour rappel, notre token de connexion se trouvait de ces cookies envoyés. A partir de ce moment-là, c’est un jeu d’enfant! L’attaquant a juste besoin d’ajouter les cookies volés à son navigateur, il sera donc connecté à votre compte sans avoir eu à saisir votre adresse mail ET mot de passe.
Durée de l’intrusion⌗
Heureusement, ou malheureusement en fonction du point de vue, les sessions ont une durée de vie d’activité. A partir du moment où le token stocké en session n’est plus valide (une heure d’inactivité en général), l’attaquant ne pourra plus rien faire avec votre compte et devra se connecter de nouveau ou relancer une nouvelle fois son attaque.
Comment y remedier ?⌗
Nous savons que ce sont des scripts qui envoient les données donc la première solution serait de désactiver Javascript du navigateur. L’autre solution serait d’utiliser NoScript pour avoir la main sur les scripts qui sont exécutés. Relativement simple et intuitif, vous pourrez décider d’activer ou non les scripts présents sur une page.