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

10 KiB
Raw Blame History

403 et 401 Bypasses

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

DragonJAR Security Conference es un evento internacional de ciberseguridad avec plus d'une décennie qui se tiendra les 7 et 8 septembre 2023 à Bogotá, en Colombie. C'est un événement de contenu technique de grande envergure où les dernières recherches en espagnol sont présentées, attirant des pirates informatiques et des chercheurs du monde entier.
Inscrivez-vous dès maintenant sur le lien suivant et ne manquez pas cette grande conférence !:

{% 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 données. 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'exfiltrer ces informations.
  • L'utilisation d'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 proxys intermédiaires qui pourraient être utiles.

Fuzzing des en-têtes HTTP

  • Changer 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 HTTP Headers : Essayez d'utiliser des en-têtes de proxy HTTP, une force brute d'authentification HTTP Basic et NTLM (avec quelques combinaisons seulement) et d'autres techniques. Pour 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 la falsification de requête HTTP ou des en-têtes hop-by-hop.

  • Fuzz les en-têtes HTTP spéciaux à la recherche de différentes réponses.

    • Fuzz les 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 de 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 en URL sont comme "/") donc lorsqu'ils sont encodés à nouveau, 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
```
# Bypasses 403 et 401

Lorsque vous essayez d'accéder à une ressource protégée, vous pouvez rencontrer des codes d'erreur HTTP 403 et 401. Le code d'erreur 403 signifie que vous n'êtes pas autorisé à accéder à la ressource, tandis que le code d'erreur 401 signifie que vous devez vous authentifier pour accéder à la ressource.

## Bypass de l'erreur 403

### Utilisation de l'extension de fichier

Si l'extension de fichier est bloquée, vous pouvez essayer de contourner cette restriction en utilisant une extension de fichier différente. Par exemple, si `file.php` est bloqué, vous pouvez essayer d'accéder à la même ressource en utilisant `file.php%20`.

### Utilisation de caractères spéciaux

Si certains caractères spéciaux sont bloqués, vous pouvez essayer de les remplacer par leur équivalent HTML. Par exemple, si `?` est bloqué, vous pouvez essayer d'utiliser `%3F` à la place.

### Utilisation de l'URL encodé

Si l'URL est bloquée, vous pouvez essayer d'utiliser l'URL encodé. Par exemple, si `http://example.com/secret` est bloqué, vous pouvez essayer d'accéder à la même ressource en utilisant `http%3A%2F%2Fexample.com%2Fsecret`.

## Bypass de l'erreur 401

### Utilisation de mots de passe courants

Si vous êtes invité à vous authentifier, vous pouvez essayer d'utiliser des mots de passe courants tels que `admin`, `password`, `1234`, `admin1234`, `123456`, `root`, `toor`, `test` ou `guest`.

### Utilisation de l'attaque de force brute

Si vous ne connaissez pas le mot de passe, vous pouvez essayer d'utiliser l'attaque de force brute pour deviner le mot de passe. Cependant, cette méthode peut prendre beaucoup de temps et peut être détectée par les systèmes de sécurité.
```

Outils automatiques

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

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

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