hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md

135 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 403 et 401 Bypasses
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/) avec plus d'une décennie qui se tiendra les 7 et 8 septembre 2023 à Bogotá, en Colombie. C'est un événement de contenu technique de grande envergure où les dernières recherches en espagnol sont présentées, attirant des pirates informatiques et des chercheurs du monde entier.\
Inscrivez-vous dès maintenant sur le lien suivant et ne manquez pas cette grande conférence !:
{% embed url="https://www.dragonjarcon.org/" %}
## Fuzzing des verbes/méthodes HTTP
Essayez d'utiliser **différents verbes** pour accéder au fichier : `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
* Vérifiez les en-têtes de réponse, peut-être que des informations peuvent être données. Par exemple, une réponse **200** à **HEAD** avec `Content-Length: 55` signifie que le **verbe HEAD peut accéder aux informations**. Mais vous devez toujours trouver un moyen d'exfiltrer ces informations.
* L'utilisation d'un en-tête HTTP comme `X-HTTP-Method-Override: PUT` peut écraser le verbe utilisé.
* Utilisez le verbe **`TRACE`** et si vous avez beaucoup de chance, peut-être que dans la réponse, vous pouvez également voir les **en-têtes ajoutés par les proxys intermédiaires** qui pourraient être utiles.
## Fuzzing des en-têtes HTTP
* **Changer l'en-tête Host** en une valeur arbitraire ([cela a fonctionné ici](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* Essayez d'**utiliser d'autres User Agents** pour accéder à la ressource.
* **Fuzz HTTP Headers** : Essayez d'utiliser des **en-têtes de proxy HTTP**, une force brute d'authentification HTTP Basic et NTLM (avec quelques combinaisons seulement) et d'autres techniques. Pour tout cela, j'ai créé l'outil [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
* `X-Originating-IP: 127.0.0.1`
* `X-Forwarded-For: 127.0.0.1`
* `X-Forwarded: 127.0.0.1`
* `Forwarded-For: 127.0.0.1`
* `X-Remote-IP: 127.0.0.1`
* `X-Remote-Addr: 127.0.0.1`
* `X-ProxyUser-Ip: 127.0.0.1`
* `X-Original-URL: 127.0.0.1`
* `Client-IP: 127.0.0.1`
* `True-Client-IP: 127.0.0.1`
* `Cluster-Client-IP: 127.0.0.1`
* `X-ProxyUser-Ip: 127.0.0.1`
* `Host: localhost`
Si le **chemin est protégé**, vous pouvez essayer de contourner la protection du chemin en utilisant ces autres en-têtes :
* `X-Original-URL: /admin/console`
* `X-Rewrite-URL: /admin/console`
* Si la page est **derrière un proxy**, peut-être que c'est le proxy qui vous empêche d'accéder aux informations privées. Essayez d'abuser de la **falsification de requête HTTP** ou des **en-têtes hop-by-hop**.
* Fuzz [**les en-têtes HTTP spéciaux**](special-http-headers.md) à la recherche de différentes réponses.
* **Fuzz les en-têtes HTTP spéciaux** tout en fuzzant les **méthodes HTTP**.
* **Supprimez l'en-tête Host** et peut-être pourrez-vous contourner la protection.
## Fuzzing de chemin
Si _/path_ est bloqué :
* Essayez d'utiliser _**/**_**%2e/path \_(si l'accès est bloqué par un proxy, cela pourrait contourner la protection). Essayez également**\_\*\* /%252e\*\*/path (double encodage URL)
* Essayez le **bypass Unicode** : _/**%ef%bc%8f**path_ (Les caractères encodés en URL sont comme "/") donc lorsqu'ils sont encodés à nouveau, cela sera _//path_ et peut-être que vous aurez déjà contourné la vérification du nom _/path_
* **Autres contournements de chemin** :
* site.com/secret > HTTP 403 Forbidden
* site.com/SECRET > HTTP 200 OK
* site.com/secret/ > HTTP 200 OK
* site.com/secret/. > HTTP 200 OK
* site.com//secret// > HTTP 200 OK
* site.com/./secret/.. > HTTP 200 OK
* site.com/;/secret > HTTP 200 OK
* site.com/.;/secret > HTTP 200 OK
* site.com//;//secret > HTTP 200 OK
* site.com/secret.json > HTTP 200 OK (ruby)
*
````
```
# Bypasses 403 et 401
Lorsque vous essayez d'accéder à une ressource protégée par mot de passe, vous pouvez rencontrer des codes d'erreur HTTP 403 et 401. Ces codes indiquent que l'accès est refusé en raison d'une authentification incorrecte ou inexistante. Cependant, il existe plusieurs façons de contourner ces codes d'erreur et d'accéder à la ressource protégée.
## Utilisation de noms d'utilisateur et de mots de passe courants
Les noms d'utilisateur et les mots de passe courants sont souvent utilisés par les utilisateurs pour accéder à des ressources protégées. Les administrateurs système peuvent également utiliser des noms d'utilisateur et des mots de passe courants pour faciliter la gestion des comptes utilisateur. Voici quelques exemples de noms d'utilisateur et de mots de passe courants que vous pouvez essayer :
```
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
```
## Utilisation de techniques d'injection de paramètres
Les techniques d'injection de paramètres peuvent être utilisées pour contourner les codes d'erreur 403 et 401 en modifiant les paramètres de la requête HTTP. Par exemple, vous pouvez essayer d'ajouter un paramètre `?auth=true` à la fin de l'URL pour forcer l'authentification.
## Utilisation de techniques d'injection de fichiers
Les techniques d'injection de fichiers peuvent être utilisées pour contourner les codes d'erreur 403 et 401 en téléchargeant un fichier contenant les informations d'authentification. Par exemple, vous pouvez essayer de télécharger un fichier `.htaccess` contenant les informations d'authentification.
## Utilisation de techniques d'ingénierie sociale
Les techniques d'ingénierie sociale peuvent être utilisées pour contourner les codes d'erreur 403 et 401 en obtenant les informations d'authentification auprès de l'utilisateur ou de l'administrateur système. Par exemple, vous pouvez essayer de contacter l'utilisateur ou l'administrateur système et de les convaincre de vous donner les informations d'authentification.
```
````
## Outils automatiques
* [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
* [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
* [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
* [Extension Burp - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
<figure><img src="../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
[**DragonJAR Security Conference est un événement international de cybersécurité**](https://www.dragonjarcon.org/) qui a plus d'une décennie et qui se tiendra les 7 et 8 septembre 2023 à Bogotá, en Colombie. C'est un événement de contenu technique important où les dernières recherches en espagnol sont présentées, attirant des hackers et des chercheurs du monde entier.\
Inscrivez-vous dès maintenant sur le lien suivant et ne manquez pas cette grande conférence ! :
{% embed url="https://www.dragonjarcon.org/" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>