+-----+---------+----------+-------------------------------+ | 002 | hacking | An-Mojeg | an-mojeg@mail-developpeur.com | +-----+---------+----------+-------------------------------+ Hack expliqué + Faille Script PHP Postlister Inédite !!! ######################################################## Introduction : -------------- Bon bon bon encore reparti a l'attaque d'un site facho, lors de l'analyse du site une personne dont je ne me rappelle plus le nom (on va l'appeler Henri) m'a informé d'un script non référencé sur le site situé dans /mailing/subscribe.php en s'interrogeant sur le fait que la protection du dossier ressemble a une protection par .htaccess mais retient certains caractéristiques étrange (il s'agissait donc d'une protection par Authentification http formulée en php), l'identification du script fut simple : postlister un script de gestion de mailing liste ... let's go ! Analysons le script ! Analyse de postlister: ---------------------- Tout d'abord reperons la fonction qui nous demande de nous authentifier : //-------------------------- functions.php ... require("settings.php"); ... if (basename($PHP_SELF) != "subscribe.php" && basename($PHP_SELF) != "confirm.php") { if (!$PHP_AUTH_USER) { header("WWW-Authenticate: Basic realm=\"Postlister\""); header("HTTP/1.0 401 Unauthorized"); echo $s62; exit; } else { if ($PHP_AUTH_USER != $username || $PHP_AUTH_PW != $password) { echo $s62; exit; } } } ... //-------------------------- functions.php hé bé, j'ai rarement vu une authentification aussi facile a déjouer. Si la base de l'url est subscribe.php ou confirm.php ya pas de problèmes ? Ben ok ça marche demandons la page index de cette manière : /mailing/index.php/subscribe.php Bingo ! ça marche on a la page index maintenant un autre aspect du script m'interresse ... La possibilité d'importer et d'exporter des fichiers contenant les adresse des newslists ... tout ça se passe en remote !!! ben là encore ça va pas être très compliqué on va aller sur cette page : /mailing/import.php/subscribe.php (hé oui toujours en contournant la protection) Et on va demander a importer le fichier settings.php ... ça marche !!! On a plus qu'a regarder la liste des adresse mails apartenant a notre liste et là hooooo quelle est bizare la liste : //################################################################## //################################################################## Ben on a les pass maintenant on peut jouer a l'admin en se faisant notre propre newslist haha ! (hum ... ouai) On va maintenant tester l'importation de ../../../../../etc/passwd Je rappelle qu'il faut d'abord créer : la table, si c pas déjà fait et une liste (quand même!) La table se crée automatiquement grace au script "table.php" et pour la liste c'est indiqué. Meuh ! Vous pouvez aussi laisser vos messages sur le serveur en remplissant manuellement la liste et en l'exportant vers un fichier txt directement sur le serveur. Conclusion ---------- !!! w00w00 !!! An-Mojeg [ an-mojeg@mail-developpeur.com ] PS : thank you Henri ;-)