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