Les XSS : applications

Les XSS : applications

  1. Objectifs

    • Connaitre les injections XSS
  2. Contexte

    • XSS (Cross-Site Scripting) est une vulnérabilité des applications Web.
    • Il s’agit également du nom d’une attaque côté client dans laquelle l’attaquant injecte et exécute un script malveillant sur une page Web légitime.
    • Les navigateurs sont capables d’afficher du HTML et d’exécuter du JavaScript.
    • Si l’application n’échappe pas aux caractères spéciaux de l’entrée / sortie et reflète l’entrée utilisateur telle qu’elle est renvoyée au navigateur, un adversaire peut peut-être lancer une attaque de type Cross-Site Scripting (XSS).



  3. Première application

    1. Injection du HTML
      • créer une page dont l’extension est php et l’enregistrer dans le dossier C:\wamp64\www\securite.
      • Recopier les lignes de code suintes:
      • La recherche d’un mot n’affiche aucun résultat, c’est tout à fait normal mais ça ne va pas nous gêner pour cette petite démonstration.
      • Chercher le mot "test", que remarquer vous?
      • Maintenant testons avec <h1>test</h1>
      • Nous obtiendrons
      • <h1>test</h1> c’est le mot-clé que nous avons entré dans le formulaire. Le navigateur reçoit le résultat et tombe sur <h1>test</h1>. Pour lui il s’agit d’une balise HTML, il va donc l’interpréter comme telle d’où le mot test en tant que titre.
      • Testons avec, par exemple, <h1 style="color:red;"><u>test</u></h1> pour vérifier notre théorie (le mot recherché devrait alors être affiché en tant que titre, souligné et en rouge).

    2. Injection du JAVASCRIPT
      • Le JavaScript en est un autre et va nous permettre de pousser notre exploitation un peu plus loin car le fait est que le HTML est un langage de balisage alors que JavaScript est un vrai langage de programmation, ce qui va nous permettre de faire des choses très intéressantes.
      • Pour faire comprendre au navigateur que nous voulons qu’il interprète le code comme du JavaScript nous plaçons nos instructions entre la balise <script></script>. Nous verrons aussi par la suite comment on peut éventuellement se passer de cette balise dans le cas où le site vulnérable la filtrerait.
      • Un cas classique est de tenter d’afficher une fenêtre d’alerte.
      • (http ://localhost/xss.php ?keyword= <script>alert("Coucou tu veux voir ma... faille XSS ?") ;</script>)
      • Ce qui affiche:
  4. Deuxième application

    • Modifier légèrement le code de l’exemple précédent afin de créer deux cookies.
    • Pour récupérer les cookies, on peut utiliser la fonction document.cookie.
    • Essayons avec le script suivant:<script>window.alert("Mes cookies sont : " + document.cookie) ;</script>

Source:

  • https://zestedesavoir.com/articles/pdf/232/les-failles-xss.pdf