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

10 KiB
Raw Blame History

Contournement des erreurs 403 et 401

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

DragonJAR Security Conference es un evento internacional de ciberseguridad con más de una década que se celebrará el 7 y 8 de septiembre de 2023 en Bogotá, Colombia. Es un evento de gran contenido técnico donde se presentan las últimas investigaciones en español que atrae a hackers e investigadores de todo el mundo.
¡Regístrate ahora en el siguiente enlace y no te pierdas esta gran conferencia!:

{% 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 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.
  • L'utilisation d'un en-tête HTTP tel que 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 également voir les en-têtes ajoutés par les proxies intermédiaires qui pourraient être utiles.

Fuzzing des en-têtes HTTP

  • Modifiez l'en-tête Host en 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, une authentification HTTP de base et une force brute 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'exploiter HTTP Request Smuggling ou les 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 pourrez-vous contourner la protection.

Fuzzing du 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 contournement Unicode : /%ef%bc%8fpath (Les caractères encodés URL sont comme "/") donc lorsqu'ils sont encodés à nouveau, cela donnera //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 Unauthorized
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (Pollution de paramètre JSON)
  • user_id=ATTACKER_ID&user_id=VICTIM_ID (Pollution de paramètre)

Manipulation de paramètres

  • Modifier 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 sur les paramètres - fournir des valeurs telles que -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 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 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

DragonJAR Security Conference est un événement international de cybersécurité qui se déroule depuis plus d'une décennie et aura lieu les 7 et 8 septembre 2023 à Bogotá, en Colombie. C'est un événement de grande envergure technique où sont présentées les dernières recherches en espagnol, attirant des hackers et des chercheurs du monde entier.
Inscrivez-vous dès maintenant en suivant le lien ci-dessous et ne manquez pas cette grande conférence !:

{% embed url="https://www.dragonjarcon.org/" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥