Dimanche le 5 juillet 2009 à 15:24

Comment contourner un .htaccess?

Par Mohammed CHERIFI

L’objectif de ce tutorial est d’expliquer une faille qui a été découverte dans les .htaccess, cette faille qui affecte un nombre importants de sites qui utilisent les fichiers .htaccess comme solution afin de restreindre l’accès à certains fichiers sensibles!

Apache c’est quoi?

Apache HTTP Server, souvent appelé Apache, est un logiciel de serveur HTTP produit par l’Apache Software Foundation. il permet tout simplement d’héberger un site web, il peut évidement tourner sur plusieurs plateformes, sur un total de 182 millions de sites, Apache est utilisé pour 91,5 millions, contre 62,8 millions pour Microsoft IIS.

Un .htaccess à quoi ça sert?

un .htacces est un fichier interprété par le serveur apache qui agit sur le répertoire dans-lequel il se trouve, il est généralement utilisé pour protéger l’accès à un répertoire ou un fichier par un mot de passe, définir les pages d’erreurs personnalisées, gérer la réécriture d’url, définir les mime-type et encore plus…, mais ce qui nous intéresse le plus dans ce tutoriel, c’est restriction d’accès à un répertoire ou un fichier.

Problème :

Parmi les utilités d’un .htaccess, il existe la directive LIMIT qui permet de restreindre l’accès à certains parties sur un site web, en effet cette protection peut facilement être contournée si elle n’est pas correctement mise en place

Exemple :

On considère que nous avons un serveur web local et qu’on veut restreindre l’accès au répertoire /sercret/ , on y met un .htaccess contenant le code suivant :

AuthUserFile /repertoire/de/votre/fichier/.htpasswd
AuthName "Accès protégé"
Require valid-user
AuthType Basic

Ce fichier permet d’indiquer à Apache de refuser toute requête GET ou POST si l’utilisateur n’est pas identifié avec un login et un mot de passe apparaissant dans le fichier .htpasswd

Pour accéder à ce dossier, nous appelons l’url http://localhost/secret/ via un navigateur web .
La requête envoyée ressemblera à :

GET /secret HTTP/1.1
Host: localhost
Connection: close

on aura le prompt qui nous demandera les identifiant pour accéder au dossier, jusque là tout est normale, le serveur apache ne fait qu’interpréter la requête qu’on lui demande.

maintenant imaginons qu’on envoie une requête différente de GET et POST

Exemple :

AuthUserFile /repertoire/de/votre/fichier/.htpasswd
AuthName "Accès protégé"
Require valid-user
AuthType Basic
Deny from all

Dans ce cas Apache interprétera la requête et n’affichera aucune erreur, bien qu’on a pas utilisé GET ou POST qui sont restreint grâce à la directive LIMIT, apache agira gentiment et nous affichera le contenu du répertoire /secret/ ;)

Logiquement apache est censé interdire l’accès à tout ficher dans le répertoire concerné, le soucis c’est que cette protection est appliqué seulement si le navigateur appelle la page via GET ou POST, par defaut nos navigateurs appellent implicitement les page avec des recettes GET, pour contourner cette protection, il suffit de se servir d’un outil comme NetCat ou bien LiveHttpHeaders (Extension Firefox) on modifiant le GET par n’importe koi et vous hop vous aurez le contenu de la page qui s’affichera :)

Comment se protéger ?

c’est assez simple, n’utilisez pas la directive LIMIT dans vos .htaccess pour restreindre l’accès à vos fichiers sensibles, virez les lignes <Limit> … </Limit> de tous vos fichiers .htaccess, ça vous évitera ce genre de problèmes

Partager cet article:
  • Twitter
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Netvibes
  • viadeo FR
  • Digg
  • LinkedIn
  • Slashdot
  • Sphinn
  • Mixx
  • Blogplay
  • Identi.ca
  • Print
  • Ping.fm
  • email
  • Posterous
  • Reddit
  • Yahoo! Buzz
  • PDF
  • RSS
  • Diigo
  • Fark
  • Blogosphere News
  • blogtercimlap
Tags :, , , ,

Articles similaires

  • No Related Post

2 Commentaires to Comment contourner un .htaccess?

Avatar

Canyo****N

octobre 25th, 2009 at 14 h 42 min

Très bon. Merci

Avatar

Xavier

octobre 28th, 2009 at 10 h 21 min

A noter que free semble filtrer les méthodes pour ses pages perso.

Réagissez à ce billet

Categories

Derniers commentaires

  • Victor: Roseny : Pour avoir les mois en Français voici mon code : $dateWidget = new sfWidgetFormI18nDate(array(...
  • abdessamad: Salam, Salutation pour cet article, N.B :  » Un md5 est une chaine de caractère en hexadécimal...
  • 0x1337: Nice tuto bien structuré et synthétisé ! La question qui se pose est ce un attaquant peut faire un Privilege...
  • Roseny: Bonjour, comment fais-t’on pour mettre les mois en français?
  • Laurent: Bonjour Mohammed et merci pour ce tuto. Que faut-il modifier pour que le champ date soit en un seul bloc au...
  • Stack: dommage que le co.ma était hacké aussi
  • Technologix: Très bon article, gg ;)
  • Wail: très bien expliqué mon khoya, génial
  • UpDeL: Respect !
  • El King Zizou: trés bonne explication j’aimerai bien voir des autres articles des attaques sur le web :)...

Flickr PhotoStream

  • Au dessus des montagnes
  • Nuages
  • Insolite hopital marocain
  • Plage bouznika
  • Maroc Blog awars with vladimire
  • Linux Party 2010 - EMI (Maroc)
  • Mawazine 2008
  • Essaouira
  • Rabat Ville with baba mimoun
  • Fucking CowBoyz
  • Essaouira 2009 - En attente de l'arrivé du cheb khaled!
  • Linux Install party Mohammadia

Twitter Feed


Warning: fread() [function.fread]: Length parameter must be greater than 0 in /homepages/44/d193174039/htdocs/mcherifi/wp-content/plugins/wordpress-twitter/BiBTweets.php on line 199
  • mcherifi: Underground Parking System http://bit.ly/aI440T original! le 27 Jul 2010 10:58
  • mcherifi: @halflings un moment j'ai pensé qu'il s'agit d'une erreur, c'est en lisant bien que j'ai compris que ya aussi #freelansing lol le 27 Jul 2010 10:38 en réponse à halflings
  • mcherifi: Comment réaliser sa première photographie en freelensing? http://bit.ly/daZewv le 27 Jul 2010 09:45
  • mcherifi: Une nouvelle loi vient d’être adoptée en #Tunisie , elle intérdit les fessées données aux enfants! Qu'allez vous faire si c'était au #Maroc ? le 26 Jul 2010 16:57
  • mcherifi: Faut-il suivre ses passions ou s’orienter vers du lucratif ? http://bit.ly/99Nsiu le 26 Jul 2010 16:30
  • mcherifi: Safari v4 & v5 critical vulnerability in the AutoFill feature http://bit.ly/9yVKco #safari #security #autofill le 26 Jul 2010 14:41
  • mcherifi: RT: @agharass : Est ce que vous avez un compte http://meme.yahoo.com ? Plz RT le 24 Jul 2010 21:20
  • mcherifi: @A_T_J pas encore mon ami, la soirée vient à peine de commencer ;) ce n'est pas qu'on tweetant pas qu'on dors :P le 24 Jul 2010 03:06 en réponse à A_T_J
  • mcherifi: Trop drôle! Insultes de développeurs http://ping.fm/SKdvT #fordeveloppersonly le 20 Jul 2010 09:02
  • mcherifi: Si vous aimez les pentests voici un ISO pour s'entrainer avec l'OS le plus vulnérable au monde http://ping.fm/a5rKi #damnvulnerablelinux le 20 Jul 2010 08:58
  • mcherifi: Oulah! c'est mon 1000 tweet, Happy day à tous! le 20 Jul 2010 08:56
  • mcherifi: Frameworks PHP: Symfony vs CodeIgniter http://ping.fm/MnLvy le 14 Jul 2010 15:42
  • mcherifi: D'ici fin juillet, l'enveloppe annuelle de la compensation sera déjà épuisée ! Que va faire l'Etat ? http://ping.fm/t2ym2 le 14 Jul 2010 14:00
  • mcherifi: Real Social Dynamics Nation : Smart people http://ping.fm/g2zfw le 14 Jul 2010 11:26
  • mcherifi: just achieved all WabLab HackMe challenges http://bit.ly/dClKUj Actual Rank: Morocco 1, World 10, waiting for the next contests.. le 11 Jul 2010 16:52
  • mcherifi: le monde est fondé sur des conventions, ce que accepte la majorité est souvent ce qui est adopté même si il est faux! le 11 Jul 2010 10:49
  • mcherifi: Youpii, ma carte son Creative Sound Blaster Live marche à merveille sous Ubuntu Lucid lynx, VIVA LINUX <3 ! le 10 Jul 2010 22:20
  • mcherifi: si vous avez du mal avec les dns google voici une version standalone du chat audio/video dans gmail 3http://ping.fm/S76qv le 06 Jul 2010 15:32