BYPASS HTACCESS

1.Presentation

Les fichiers .htaccess sont des fichiers texte de configuration des serveurs web Apache et peuvent être placés dans n'importe quel répertoire. Ils servent, entre autre, à définir les règles de redirection d'url, de réécriture d'url et, dans le cas qui nous intéresse, à définir les autorisations d'accès à certaines url ou fichiers du serveur.

2.Exploitation

Voici un exemple de code faillible permettant de protéger notre page index.php:

    AuthName "Vous ne passerez pas !"     # Message à afficher à l'utilisateur  
    AuthUserFile /home/www/secret/.htpasswd #Contient les identifiants de connexion sous la forme :     superadmin:$apr1$ZdHH1.Zd$eFnICcA6UA5sQcrpFO0kX.    
      
    <Limit GET POST>  
        require valid-user  
    </Limit>  

Le but va être d'envoyer une méthode HTTP qui n'est pas inscrit dans le “limit” par exemple PUT, OPTIONS, DELETE,HEAD.

2.1 Méthode 1 : Bypass avec Curl

Avec la commande curl et la méthode PUT:

curl -XPUT http://192.168.43.103/index.php

Avec la commande curl et une méthode inconnu:

curl -XTOTO http://192.168.43.103/index.php

2.2 Méthode 2 : Bypass avec BurpSuite

L'outil BurpSuite permet de créer un proxy web local.

Lancez le.

Dans les paramètres réseaux de firefox configurez votre proxy comme ceci :

Recharger la page qui demande une authentification et vous verrez la requête apparaître dans burpsuite.

Modifier la méthode GET en TOTO :

Cliquez sur “Forward”

Dans votre navigateur firefox l'authentification demandée est bypassée.

3.Comment se protéger

Tout simplement en n'utilisant PAS les closes <Limit> qu'on peut voir dans le fichier .htaccess.

Si vous avez quand même besoin de limiter les méthodes d'accès, utilisez <LimitExcept> au lieu de <Limit>, ce qui générera une Exception au lieu d'autoriser l'accès.

source : firediy