5 Holes, Part 1
***************
Intro :
*******
Il m'arrive de trouver des failles mineures, ou vites expliquables. Pour ne pas user du papier
( =))))) ) sans raison, j'ai décidé de faire à chaque fois un tuto de 5 petites failles, plutot
que 5 petits tutos avec une faille.
Date :
******
Achevé le 17/04/02
Services :
**********
- THTTPD
- sgdynamo
- Myannuaire
- phpAnyVote
- DiSi-Poll
Developpement :
***************
1) THTTPD server
----------------
http://www.acme.com/software/thttpd/
Versions :
2.20b 10oct00 (et autres ?)
Probleme :
- Cross Site Scripting (XSS)
Developpement :
Une url du style http://www.host.com/non-existant/ sur un site utilisant thttpd nous donnera :
404 Not Found
The requested URL '/non-existant/' was not found on this server.
--------------------------------------------------------------------------------
thttpd/2.20b 10oct00
http://www.host.com/ fera donc executer le script directement
sur la page d'erreur 404.
2) Sgdynamo
-----------
Probleme :
- XSS
Exploit :
/sgdynamo.exe?HTNAME=
3) Myannuaire
-------------
http://www.laboweb.net/
Versions :
1.0
Problème :
- Récuperation du password admin
Developpement :
On peut voir dans admin.php, ces quelques lignes, commentées par l'auteur :
----------------------------------------
----------------------------------------
Tous ce qu'il reste a faire, comme le dit l'auteur, c'est d'aller chercher le mot de passe,
à l'url /admin/varadmin.lst .
4)phpAnyVote
------------
http://www.punknews.org/
Version :
1.0
Problème :
- Contournement de la sécurité votes multiples.
Developpement :
Voici ce qu'est la sécurité :
if($vote && !$already_voted) SetCookie("already_voted","1");?>
Il suffit donc d'envoyer un cookie avec comme nom already_voted et sans valeur pour
pouvoir voter encore et encore.
Et c'est une tâche facile à automatisée...
5)DiSi-Poll
-----------
http://www.cyberfly.net/
Version :
0.9.0
Problème :
- Contournement de la sécurité votes multiples.
Developpement :
Même chose que dans le sondage précédent, mais ici dans poll.php3.
On peut y voir :
setcookie("voteyn", "1" ,time()+$cookietime);
Donc le cookie sans valeur à envoyer s'appelera 'voteyn'.
Greetz :
********
Mercussio
Credits :
*********
frog-m@n
leseulfrog@hotmail.com