hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
2024-02-10 13:11:20 +00:00

9 KiB
Raw Blame History

Bypassiranje 403 i 401

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Trenutno dostupna postavka za procenu ranjivosti i testiranje penetracije. Pokrenite puni pentest sa više od 20 alata i funkcija koje idu od rekonstrukcije do izveštavanja. Mi ne zamenjujemo pentestere - mi razvijamo prilagođene alate, module za otkrivanje i eksploataciju kako bismo im vratili neko vreme da dublje kopaju, otvaraju ljuske i zabavljaju se.

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

Fuzziranje HTTP glagola/metoda

Pokušajte koristiti različite glagole za pristupanje fajlu: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • Proverite odgovorne zaglavlja, možda se može dobiti neke informacije. Na primer, 200 odgovor na HEAD sa Content-Length: 55 znači da HEAD glagol može pristupiti informacijama. Ali i dalje morate pronaći način da te informacije izvučete.
  • Korišćenje HTTP zaglavlja kao što je X-HTTP-Method-Override: PUT može prebrisati korišćeni glagol.
  • Koristite TRACE glagol i ako imate sreće, možda u odgovoru možete videti i zaglavlja dodata od strane posredničkih proxy-ja koja mogu biti korisna.

Fuzziranje HTTP zaglavlja

  • Promenite Host zaglavlje u neku proizvoljnu vrednost (to je radilo ovde)

  • Pokušajte koristiti druge User Agente za pristup resursu.

  • Fuzzirajte HTTP zaglavlja: Pokušajte koristiti HTTP Proxy Zaglavlja, HTTP Autentifikacija Basic i NTLM brute-force (samo sa nekoliko kombinacija) i druge tehnike. Za sve ovo sam kreirao alat fuzzhttpbypass.

  • 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

Ako je putanja zaštićena, možete pokušati zaobići zaštitu putanje koristeći ova druga zaglavlja:

  • X-Original-URL: /admin/console
  • X-Rewrite-URL: /admin/console
  • Ako je stranica iza proksija, možda je proksi taj koji vam sprečava pristup privatnim informacijama. Pokušajte zloupotrebiti HTTP Request Smuggling ili hop-by-hop zaglavlja.
  • Fuzzirajte posebna HTTP zaglavlja u potrazi za različitim odgovorima.
  • Fuzzirajte posebna HTTP zaglavlja dok fuzzirate HTTP metode.
  • Uklonite Host zaglavlje i možda ćete moći zaobići zaštitu.

Fuzziranje putanje

Ako je /putanja blokirana:

  • Pokušajte koristiti /%2e/putanja _(ako je pristup blokiran od strane proksija, ovo može zaobići zaštitu). Pokušajte takođe**_** /%252e**/putanja (dvostruko URL enkodiranje)
  • Pokušajte Unicode zaobilaženje: /%ef%bc%8fputanja (URL enkodirani karakteri su slični "/") pa kada se ponovo enkodiraju, biće //putanja i možda ste već zaobišli proveru imena /putanja
  • Druga zaobilaženja putanje:
  • site.com/tajno > HTTP 403 Forbidden
  • site.com/TAJNO > HTTP 200 OK
  • site.com/tajno/ > HTTP 200 OK
  • site.com/tajno/. > HTTP 200 OK
  • site.com//tajno// > HTTP 200 OK
  • site.com/./tajno/.. > HTTP 200 OK
  • site.com/;/tajno > HTTP 200 OK
  • site.com/.;/tajno > HTTP 200 OK
  • site.com//;//tajno > HTTP 200 OK
  • site.com/tajno.json > HTTP 200 OK (ruby)
  • Koristite celu ovu listu u sledećim situacijama:
  • /FUZZtajno
  • /FUZZ/tajno
  • /tajnoFUZZ
  • Druga zaobilaženja API-ja:
  • /v3/korisnici_podaci/1234 --> 403 Forbidden
  • /v1/korisnici_podaci/1234 --> 200 OK
  • {“id”:111} --> 401 Neautorizovano
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Neautorizovano
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON Parameter Pollution)
  • user_id=ID_NAPADAČA&user_id=ID_ŽRTVE (Parameter Pollution)

Manipulacija parametrima

  • Promenite vrednost parametra: Od id=123 --> id=124
  • Dodajte dodatne parametre u URL: ?id=124 —-> id=124&isAdmin=true
  • Uklonite parametre
  • Promenite redosled parametara
  • Koristite posebne karaktere.
  • Izvršite testiranje granica u parametrima - pružite vrednosti kao što su -234 ili 0 ili 99999999 (samo neki primeri vrednosti).

Verzija protokola

Ako koristite HTTP/1.1 pokušajte da koristite 1.0 ili čak testirajte da li podržava 2.0.

Drugi načini zaobilaženja

  • Dobijte IP ili CNAME domena i pokušajte da ih direktno kontaktirate.
  • Pokušajte da opteretite server slanjem uobičajenih GET zahteva (To je uspelo ovom momku sa Facebookom).
  • Promenite protokol: od http do https, ili od https do http
  • Idite na https://archive.org/web/ i proverite da li je ta datoteka bila svetski dostupna u prošlosti.

Brute Force

  • Pogađanje lozinke: Testirajte sledeće uobičajene akreditive. Da li znate nešto o žrtvi? Ili ime izazova CTF?
  • Brute force: Pokušajte osnovnu, digest i NTLM autentifikaciju.

{% code title="Uobičajeni akreditivi" %}

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

{% endcode %}

Automatski alati

Trenutno dostupna postavka za procenu ranjivosti i testiranje penetracije. Pokrenite potpuni pentest sa bilo kog mesta sa više od 20 alata i funkcija koje idu od rekonstrukcije do izveštavanja. Mi ne zamenjujemo pentestere - mi razvijamo prilagođene alate, module za otkrivanje i eksploataciju kako bismo im vratili neko vreme da dublje kopaju, otvaraju ljuske i zabavljaju se.

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

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini da podržite HackTricks: