ZMWS - Forum

Vous n'êtes pas connecté.

#1 01/03/2007 01:14:24

xavier
ZazouGourou
Lieu: ZazouLand
Date d'inscription: 09/09/2004
Messages: 2836
Site web

Vulnérabilité sur zazouminiwebserver

JC a écrit :
> Bonjour,

Bonjour,

> Je me permets de vous contacter car j'ai découvert une vulnérabilité sur
> zazouminiwebserer dont je vous laisse jugé de la criticité.

Merci pour votre intérêt et pour cette contribution au projet.

> Sur la page index.php, visiblement pour vérifier que l'accès est bien
> réalisé depuis l'adresse 127.0.0.1, la fonction REMOTE_ADDR de php est
> utilisée.
>
> Or il est possible pour un client de forger le REMOTE_ADDR à 127.0.0.1.
> La variablé REMOTE_ADDR ne peut être considéré comme sure.

J'aimerais savoir comment. Vous avez des sources relatant cela ? La variable REMOTE_ADDR est envoyée par le serveur à PHP via l'environnement en fonction des données récupérées de la socket.

Autant les entêtes X-Forwarded-For et Host sont simples à forger, car envoyées avec la requête HTTP (Il y a eu des exploits dans phpBB utilisant cette vulnérabilité), autant je ne vois pas comment on pourrait simplement modifier la variable remote addr.

Au pire en utilisant l'IP spoofing, un pirate pourrait forger des demandes de connexions TCP (nécessaire à tout dialogue HTTP) ayant comme provenance 127.0.0.1 mais la réponse de connexion serait alors envoyée à 127.0.0.1.

A moins qu'il ne soit possible de changer l'IP source dans les paquets TCP et que ces derniers restent malgré tout considérés valides. Je ne suis pas assez calé en TCP pour affirmer que c'est impossible mais ça me paraîtrait être un fonctionnement totalement abérrant.

A moins qu'une vulnérabilité existe dans PHP permettant de modifier cette variable après sa génération par le serveur, mais je n'en ai pas entendu parler.

> Conséquences :
> ----------------------------
>
> Il est donc possible pour un attaquant distant d'exécuter un phpinfo,
> d'arrêter la base  mysql en encore le serveur.
> Un scénario d'exécution de code peut également être envisagé.

On est d'accord, en présence d'un exploit, les conséquences sont potentiellement graves.

Il faudrait d'abord être certain qu'il y a un problème à mon sens.

Pouvez vous reproduire l'exploit décrit ?

> Solution :
> ------------------
>
> A définir.

La solution est toute trouvée, supprimer cette page d'index ou la mettre dans un répertoire protégé par mot de passe.

En admettant que tout celà se passe. Encore faut-il que la page soit restée au même endroit et que l'utilisateur ait configuré son routeur pour autoriser les accès externes à sa machine et s'il l'a fait, ce n'est vraisemblablement pas pour offrir la page d'index de zmws au reste du monde.

Merci encore, je copie ce rapport de bug dans le forum pour avoir l'avis des autres membres.

Cordialement,
Xavier Garreau


http://www.zmws.com/pictures/zmwsbanniere.jpg
Ultimate fighting server : Combattre zazou - Rejoindre le clan !!!
ZMWS Ville : Devenez un habitant

Hors ligne

 

#2 01/03/2007 09:40:20

xavier
ZazouGourou
Lieu: ZazouLand
Date d'inscription: 09/09/2004
Messages: 2836
Site web

Re: Vulnérabilité sur zazouminiwebserver

JC a écrit :
>> Pouvez vous reproduire l'exploit décrit ?
>
> En piece jointe vous trouverez l'exploit qui réalise le phpinfo, il faut
> modifier l'url qui est ouverte avec l'adresse de votre serveur. (Prog en
> python)

OK !

C'est un bug de ZazouMiniWebServer lui même que je vais m'empresser de corriger. Ce n'est effectivement pas la valeur remontée par la couche réseau qui est en cause mais une faille permettant d'écraser cette dernière ultérieurement.

Ce bug touche les variables suivantes pour être exact:
QUERY_STRING
REQUEST_METHOD
PATH_INFO
PATH_TRANSLATED
REMOTE_ADDR
REMOTE_HOST
REMOTE_PORT
REMOTE_USER
SERVER_PROTOCOL
SERVER_PORT

Merci encore pour ce retour. Je retransfère ça sur le forum.


http://www.zmws.com/pictures/zmwsbanniere.jpg
Ultimate fighting server : Combattre zazou - Rejoindre le clan !!!
ZMWS Ville : Devenez un habitant

Hors ligne

 

#3 01/03/2007 13:52:08

xavier
ZazouGourou
Lieu: ZazouLand
Date d'inscription: 09/09/2004
Messages: 2836
Site web

Re: Vulnérabilité sur zazouminiwebserver

A priori, c'est réglé dans la 1.2.4-rc2 dispo ici en exe et dll:
--> http://downloads.xgarreau.org/zazoumini … Server.exe
--> http://downloads.xgarreau.org/zazoumini … Server.dll

a+


http://www.zmws.com/pictures/zmwsbanniere.jpg
Ultimate fighting server : Combattre zazou - Rejoindre le clan !!!
ZMWS Ville : Devenez un habitant

Hors ligne

 

#4 02/03/2007 10:44:04

grandnono
ZazouVictim
Date d'inscription: 15/09/2005
Messages: 56

Re: Vulnérabilité sur zazouminiwebserver

Ne pas oublier de modifier la version de l'exécutable SVP pour pouvoir gérer la version installée.
(clic droit - Propriété - version)

A+

Hors ligne

 

#5 02/03/2007 22:13:48

Groumphy
ZazouGeneral
Lieu: Brussels
Date d'inscription: 19/08/2006
Messages: 488
Site web

Re: Vulnérabilité sur zazouminiwebserver

Intéressant... J'aurais pas pensé à chercher dans cette direction...
Mais je dirais aussi normal, la jeunesse de Zazou ne permet pas encore de tout voir ni de tout savoir smile


--------------------------------
_logon("Groumphy's blog")

Hors ligne

 

#6 04/03/2007 21:26:20

xavier
ZazouGourou
Lieu: ZazouLand
Date d'inscription: 09/09/2004
Messages: 2836
Site web

Re: Vulnérabilité sur zazouminiwebserver

C'est exact, c'est un détail que j'oublie ...

Je savais bien que la version dans les ressources, c'était l'arnaque wink


http://www.zmws.com/pictures/zmwsbanniere.jpg
Ultimate fighting server : Combattre zazou - Rejoindre le clan !!!
ZMWS Ville : Devenez un habitant

Hors ligne

 

Pied de page du Forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson