________ // \\ |-|-|-|@@@@@@@>>>> /.HTACCESS ET SES FAILLES! // \\ - //____ // | // | /_____|iXtlan[98] La protection par htaccess et celle la plus utilisée sur les serveurs unix au niveau de la consulation des sites webs... Cette fonction va demander a l'utilisateur voulant acceder a un certain reperoire de donner un Login et un Mot de Pass... voila comment ca fonctionne: nous sommes dans le rep /home/fred/web %ls -al /home/fred/web/. sys .. /home/fred/web/.. sys .. /home/fred/web/.htaccess fred 10Apr98 /home/fred/web/alien.htm fred 20May98 /home/fred/web/bacc.htm fred 22Feb98 /home/fred/web/born.gif fred 01May98 /home/fred/web/boulot.gif fred 01May98 /home/fred/web/cc.htm fred 17Jan98 /home/fred/web/hash.gif fred 19Mar98 /home/fred/web/parano.gif fred 30May98 /home/fred/web/parano.htm fred 15May98 ... On note la presence du fichier .htaccess (visible uniquement avec l'option '-a' sur la commande 'ls'). Ce fichier va etre execute quand quelqu'un va demander l'acces a ce rep en utilisant le protocle 'http'... Si le visiteur ne met pas le bon nom de login et le bon pass il ne pourra pas acceder au rep en question (ni a ses sous rep!) Le fichier .htaccess et ecrit comme suit: AuthUserFile /home/user/conf/passwd/.htpasswd AuthGroupFile /dev/null AuthName ByPassword AuthType Basic require valid-user En fait le fichier .htaccess n'est qu'un script qui va aller chercher les mots de pass dans le rep indique a la ligne "AuthUserFile..." soit ici dans le rep /home/user/conf/passwd/.htpasswd voila donc comment proceder pour trouver les pass d'un site protege via .htaccess. Il est toutefois necessaire d'avoir un acces telnet sur le meme serveur ... Tjrs dans la meme optique du manque accru de vigileance dont font preuve les trois quarts des gens, on remarque que souvent ils laissent les reps de leur directory en r-x pour tous ... ce qui nous permet donc de lire facilement les fichiers contenus par ce rep... Bon vous voulez aller voir ce qu'il y a derriere l'URL http://machine.server.fr/~fred malheureusement la procedure .htaccess vous demande un login et un pass(argg!!) pas de panik:) tout s'arrange avec un peu de tactik .... loggez vous en telnet sur machine.server.fr % cd /home/fred/web % ls -al |grep .htaccess rwxr-xr-x .htaccess fred 22May98 % cat .htaccess >/home/mon_dir/htaccess_fred voila vous venez de copier le .htaccess de fred sur votre homedir ou vous pourrez facilement le lire (heeh tout est une question de permission)Toute l'embrouille est que au lieu de le copier en faisant un 'cp' normal vous avez redirigez le 'stdout' vers le ficher 'htaccess_fred' dans votre homedir) editez le maintenant avec vi et regardez ou se trouve le fichier .htpasswd (disons qu'il est dans /home/fred/conf/.htpasswd) il y'a a peu pres une chance sur deux que fred est applique les meme restrictions a son rep ~/conf vous pouvez donc reiterez l'operation de la meme facon et avoir acces a ses mots de pass (qui seront encodes mais dont le decodage n'est pas tres long vu que le system les encode tjrs de la meme facon....) ========================================== == Au fait comment creer un htaccess ?? == ========================================== hmm okay puisque vous insistez je vais vous expliquer comment creer une restriction d'acces sur son rep (valable seulement en http!)... Bon avec la commande "AccessFileName" vous pourrez definir un fichier qui jouera le role de .htaccess (c'est la valeur par defaut de la variable "AccessFileName" sur les serveurs apache (et presque tous les autres aussi)... % AccessFileName .fuck_da_keuf ainsi c'est le fichier .fuck_da_keuf qui jouera le role de .htaccess (vous pouvez de cette facon camoufler votre .htaccess pour que personne ne pense a faire ce que je viens d'expliker heeh.... le meilleur nom pour se fichier est sans doute quelques chose qui fait nom de fichier system... type: ".logconf" ou encore ".emacs_conf" ou encore ".bash" enfin vous voyez le style koi :) Bon une fois votre AccessFileName parametre comme il faut vous devez creer le fichier qui va contenir les mots de passes.... celui ci ne DOIT PAS ETRE dans le repertoire ou se trouve le .htaccess! (mettons le dans /home/mon_rep/httpd par exemple) Pour creer ce fichier (.htpasswd) on utilise le programme "htpasswd" (humm bizare y zont le meme nom ?!) Verfifiez au prealable que ce prog soit bien dans le rep /bin de votre system (auquel cas ca ne risque pas de marcher!) la syntaxe est simple: on lance tout d'abord htpasswd avec le flag '-c' qui veut dire que le system va devoir creer un fichier passé en argument (suivit du premier nom d'utilisateur) % htpasswd -c .htpasswd moi Set password for moi: retype password: et voila vous pouvez maintenant editer .htpasswd % cat .htpasswd moi:ZyU8nMQpRyfIM Pour ajouter de nouveaux utilisateurs il ne faut plus specifier le flag '-c' mais simplement %htpasswd .htpasswd utilisateur et voila le fichier de mot de pass est créé reste a ecire le .htaccess (en fait .fuck_da_keuf) et a le placer dans le rep que l'on veut proteger) hmmm petit conseil: Pour eviter qu'un hacker n'est la meme idee que vous et vienne zoner dans le coin de votre .htpasswd vous pouvez rendre ce rep non executable: %chmod u-rx /home/mon_rep/httpd %ls -l | grep httpd drwx------ httpd moi et voila il pourra pas y aller !! lol:)