Failles dans le service Liens Lite 2037 *************************************** Produit : ********* 2037 Gestion Liens Alpha http://liens.2037.biz/ (Système d'exploitation : PHP4/MYSQL) Version : ********* V1.5 LITE et moins. Date : ****** 09/02/2002 Probleme : ********** - Accès à la partie administration. - Contournement de la sécurité anti-crack. Developpement : *************** Le script a comme nom par defaut liens_lite.php3, que le webmaster suggere de changer. Ce nom est stocké dans la valeur $pth. Liens Lite est une page de liens, avec une partie admin permettant d'en supprimer et d'en ajouter. Voici le code, que j'ai détaillé, où se trouve la faille : -------------------------------------------------------------------------------- if ( ($rlogin !="$login") or ($rmdp !="$mdp") ) { // si le login entré (rlogin) est different du login admin ($login) ou // que le mot de passe entré (rmdp) est different du passe admin (mdp) alors : $hacker=$hacker+1; // la valeur hacker vaut sa valeur (0 à la base), plus 1 if ($hacker>3) { // si la valeur hacker est plus grande que 3 : echo "Tentative d'intrusion enregistré"; } // on imprime "Tentative d'intrusion enregistré" (mais on n'enregistre rien =)) else { //sinon, si la valeur $hacker est plus petite que 3, càd qu'on a pas fait + de 3 essais //de login en tant qu'admin : echo "

Nom d'utilisateur ou mot de passe incorrect,Reessayez!!

Utilisateur :
Mot de passe :

";} } // on imprime le formulaire de demande de log in. else { // sinon, si le mot de passe et le login admin sont bons : setcookie ("cliens","admin_access"); // on envois un cookie avec comme nom "cliens" et comme valeur "admin_access" echo"Vous etes loggué"; echo"
"; // et on imprime un button proposant d'administrer. -------------------------------------------------------------------------------- C'est la derniere partie qui est la + interessante. En imaginant que la valeur $pth vaut liens_lite.php3 , l'url résultant du formulaire sera donc : /liens_lite.php3?fct=admin&idmpdv=Administrez. L'erreur est là même que dans le portail Portix; le cookie à envoyer ne change jamais. Il suffit donc d'envoyer le cookie "cliens, admin_access" à la page http://www.host.com/$path?fct=admin&idmpdv=Administrez pour être considéré comme administrateur et rajouter ou supprimer des liens. L'autre faille se trouve dans la variable $hacker. Elle est censé empecher d'executer plus de 3 fois une tentative de log in en tant qu'admin. Si c'est le cas, il est impossible de faire une derniere tentative... sauf si on changer nous même la valeur de $hacker. L'url www.host.com/$path?fct=log&hacker=-1000 nous permettra par exemple de faire 1003 tentatives de login. Le créateur a été avertit. Patch : ******* / Greetz : ******** Entity666 Credits : ********* frog-m@n (leseulfrog@hotmail.com)