La faille xss-L'exploiter et se protéger!

Statut
N'est pas ouverte pour d'autres réponses.

Albert Einstein

E = MC²
Premium
Inscription
2 Août 2013
Messages
1 936
Réactions
751
Points
10 316
RGCoins
25
Bonsoir
Aujourd'hui je vous ais concocté un petit tutoriel sur la faille XSS "cross-site scripting"
Comment l'exploiter ?
Comment s'en protéger ?

Tout est ici !
Bonne lecture ;)

La Faille XSS "cross-site scripting" c'est quoi ?
La faille XSS, a l’origine CSS (Cross Site Scripting) changé pour ne pas confondre avec le CSS des feuilles de style (Cascading Style Sheet), est un type de faille de sécurité des sites Web, que l’on trouve dans les applications Web mal sécurisé.
Le principe de cette faille est d’injecter un code malveillant en langage de script dans un site web vulnérable, par exemple en déposant un message dans un forum qui redirige l’internaute vers un faux site (phishing) ou qui vole des informations (cookies).
La faille XSS permet d’exécuter des scripts du coté client. Ceci signifie que vous ne pouvez exécuter que du JAVASCRIPT, HTML et d’autres languages qui ne vont s’exécuter que chez celui qui lance le script et pas sur le serveur directement, je laisse votre imagination vous donner des idées.

Comment détecter la faille XSS ?
Les XSS sont très répandue sur le net, plus précisément dans les forums, livres d’or et les moteurs de recherches,
La détection de la présence d’une faille XSS peut se faire par exemple en entrant un script Javascript dans un champ de formulaire ou dans une URL :
1
<script > alert (Hack) </script >
Si une boîte de dialogue apparaît, on peut en conclure que l’application Web est sensible aux attaques de type XSS.
Pour bien comprendre le principe, rien ne vaut un exemple.
Supposons le code suivant :

1 <center>
2 <?php if (isset($_GET['mot_recherche']))
3 {
4 echo "Vous recherchez le mot suivant: ".$_GET['mot_recherche'];
5 }?>
6
7 Recherche:
8 <form method="get" action="XSS.php">
9 <input type="text" name="mot_recherche"/>
10 <input type="submit" name="Submit" value="Envoyer" />
11 </form> </center>


Sur un navigateur web cela donnerait :
xss1.png


Aucune variable n’a été transmit en GET donc la page n’affiche que « Recherche ». Si maintenant je tape « Justin Bieber » et je valide cela me donne « Vous recherchez le mot suivant: Justin Bieber »
Jusqu’à maintenant tout marche bien, mais que se passe-t-il si je tape <script>alert(‘Hack’)</script> dans recheche, le code JavaScript tapé dans recherche est ainsi exécuté. Comme ça on peut conclure que cette application contient une faille XSS.

xss2.png


Echapper les filtres

Dans la réalité, ça ne marche pas toujours comme ça, les développeurs web ont conscience de cette attaque, alors ils ont développé des méthodes pour sécuriser leurs applications web contre cette faille, je peux par exemple citer magic_quote_gpc.
Dans cette parti, je vais vous montrer comment bypasser quelques filtres :
magic_quote_gpc : Lorsque les magic_quotes sont activées, tous les caractères ‘ (apostrophes), » (guillemets), \ (antislash) et NULL sont donc échappés par un antislash.
Par exemple si je tape

1 <script> alert("Hack")</script>

Il devient:

1 <script>alert(\'hack\')</script>

Donc comment passer ceci ? Et bien après une bonne réflexion sur le problème, il nous vient que si le site échappe les apostrophes par un antislash alors grâce à elles on va pouvoir exécuter notre code mais comment ?
Tout simplement nous allons utiliser la méthode String.fromCharCode(). Cette méthode crée une chaîne de caractères à partir d’une série de code ASCII. Pour cela je vais utiliser Hackbar, un plugin Firefox.

xss3.png


Apres ca nous donne

1 <script>alert(String.fromCharCode(104, 97, 99, 107))</script>

et miracle ça marche ! icon biggrin Faille XSS, comment l'exploiter et sen protéger
Technique d’Obfuscation : Ce filtre, par exemple bloque les mots suivants:
script
alert
Ici si nous mettons <script>alert(‘Hack’)</script> le site vas nous donner comme message alert() car il va enlever tout les <script> et </script>.
Alors pour bypasser ce filtre nous allons juste changer <script> par <scrscriptipt> et alert par alealertrt
comme ceci :

1<scr < script >ipt > alealertrt () </scr </ script >ipt >

Une fois les bannières enlevées ça nous donne :


1<script> alert("Hack")</script>
et ça marche encore ! icon smile Faille XSS, comment l'exploiter et sen protéger


Source :
 
Dernière édition par un modérateur:
Bonsoir
Aujourd'hui je vous ais concocté un petit tutoriel sur la faille XSS "cross-site scripting"
Comment l'exploiter ?
Comment s'en protéger ?

Tout est ici !
Bonne lecture ;)

La Faille XSS "cross-site scripting" c'est quoi ?
La faille XSS, a l’origine CSS (Cross Site Scripting) changé pour ne pas confondre avec le CSS des feuilles de style (Cascading Style Sheet), est un type de faille de sécurité des sites Web, que l’on trouve dans les applications Web mal sécurisé.
Le principe de cette faille est d’injecter un code malveillant en langage de script dans un site web vulnérable, par exemple en déposant un message dans un forum qui redirige l’internaute vers un faux site (phishing) ou qui vole des informations (cookies).
La faille XSS permet d’exécuter des scripts du coté client. Ceci signifie que vous ne pouvez exécuter que du JAVASCRIPT, HTML et d’autres languages qui ne vont s’exécuter que chez celui qui lance le script et pas sur le serveur directement, je laisse votre imagination vous donner des idées.

Comment détecter la faille XSS ?
Les XSS sont très répandue sur le net, plus précisément dans les forums, livres d’or et les moteurs de recherches,
La détection de la présence d’une faille XSS peut se faire par exemple en entrant un script Javascript dans un champ de formulaire ou dans une URL :
1
<script > alert (Hack) </script >
Si une boîte de dialogue apparaît, on peut en conclure que l’application Web est sensible aux attaques de type XSS.
Pour bien comprendre le principe, rien ne vaut un exemple.
Supposons le code suivant :

1 <center>
2 <?php if (isset($_GET['mot_recherche']))
3 {
4 echo "Vous recherchez le mot suivant: ".$_GET['mot_recherche'];
5 }?>
6
7 Recherche:
8 <form method="get" action="XSS.php">
9 <input type="text" name="mot_recherche"/>
10 <input type="submit" name="Submit" value="Envoyer" />
11 </form> </center>


Sur un navigateur web cela donnerait :
xss1.png


Aucune variable n’a été transmit en GET donc la page n’affiche que « Recherche ». Si maintenant je tape « Justin Bieber » et je valide cela me donne « Vous recherchez le mot suivant: Justin Bieber »
Jusqu’à maintenant tout marche bien, mais que se passe-t-il si je tape <script>alert(‘Hack’)</script> dans recheche, le code JavaScript tapé dans recherche est ainsi exécuté. Comme ça on peut conclure que cette application contient une faille XSS.

xss2.png


Echapper les filtres

Dans la réalité, ça ne marche pas toujours comme ça, les développeurs web ont conscience de cette attaque, alors ils ont développé des méthodes pour sécuriser leurs applications web contre cette faille, je peux par exemple citer magic_quote_gpc.
Dans cette parti, je vais vous montrer comment bypasser quelques filtres :
magic_quote_gpc : Lorsque les magic_quotes sont activées, tous les caractères ‘ (apostrophes), » (guillemets), \ (antislash) et NULL sont donc échappés par un antislash.
Par exemple si je tape

1 <script> alert("Hack")</script>

Il devient:

1 <script>alert(\'hack\')</script>

Donc comment passer ceci ? Et bien après une bonne réflexion sur le problème, il nous vient que si le site échappe les apostrophes par un antislash alors grâce à elles on va pouvoir exécuter notre code mais comment ?
Tout simplement nous allons utiliser la méthode String.fromCharCode(). Cette méthode crée une chaîne de caractères à partir d’une série de code ASCII. Pour cela je vais utiliser Hackbar, un plugin Firefox.

xss3.png


Apres ca nous donne

1 <script>alert(String.fromCharCode(104, 97, 99, 107))</script>

et miracle ça marche ! icon biggrin Faille XSS, comment l'exploiter et sen protéger
Technique d’Obfuscation : Ce filtre, par exemple bloque les mots suivants:
script
alert
Ici si nous mettons <script>alert(‘Hack’)</script> le site vas nous donner comme message alert() car il va enlever tout les <script> et </script>.
Alors pour bypasser ce filtre nous allons juste changer <script> par <scrscriptipt> et alert par alealertrt
comme ceci :

1<scr < script >ipt > alealertrt () </scr </ script >ipt >

Une fois les bannières enlevées ça nous donne :


1<script> alert("Hack")</script>
et ça marche encore ! icon smile Faille XSS, comment l'exploiter et sen protéger

Source de moi mais que j'ai poster sur H&M :

http://reality-gaming.fr/threads/◢la-faille-xss◣.5761/
Merci du partage :love:
 
Tu es quand même hypocrite mec...
A chacun de tes pseudos tutoriaux tu oses dire que c'est toi qui l'a écrit etc...
Même en te montrant les sources tu veux pas admettre que tu es un lamentable voleur.
 
Et ton lien ne marche pas : http://reality-gaming.fr/threads/◢la-faille-xss◣.5761/
 
Tu es quand même hypocrite mec...
A chacun de tes pseudos tutoriaux tu oses dire que c'est toi qui l'a écrit etc...
Même en te montrant les sources tu veux pas admettre que tu es un lamentable voleur.

Mdr hypcrite déjà sois mes tutoriel viennent de moi sois y'a une source alors si moi hypocrite toi t'est un pseudo chelou qui viens faire chier le monde
 
Bon gros copier-coller (et ce n'est pas de la provocation mais la triste vérité). Moche de s'attribuer le travail d'autrui...
 
Bonjour,

Voici un tutoriel pour se protéger à 100% contre la faille XSS.

Remplacer:
echo $_GET['mot_recherche'];

Par:
echo htmlentities($_GET['mot_recherche'], ENT_QUOTES, "UTF-8");

Merci, au revoir.
 
Dernière édition:
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut