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

9.1 KiB
Raw Blame History

Bypass-ovi za 403 & 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 dostupno podešavanje za procenu ranjivosti & testiranje proboja. Pokrenite pun pentest odakle god sa 20+ alata i funkcija koje idu od rekonstrukcije do izveštavanja. Mi ne zamenjujemo pentestere - mi razvijamo prilagođene alate, module za otkrivanje & eksploataciju kako bismo im vratili neko vreme da dublje kopaju, otvaraju školjke i zabavljaju se.

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

Faziranje HTTP glagola/metoda

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

  • Proverite odgovor 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 poput 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 što može biti korisno.

Faziranje HTTP zaglavlja

  • Promenite Host zaglavlje u neku proizvoljnu vrednost (koja je ovde radila)

  • Pokušajte koristiti druge korisničke agente za pristup resursu.

  • Fazirajte HTTP zaglavlja: Pokušajte korišćenje HTTP Proxy zaglavlja, HTTP Authentication 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 da zaobiđete 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.
  • Fazirajte specijalna HTTP zaglavlja tražeći različit odgovor.
  • Fazirajte specijalna HTTP zaglavlja dok fazirate HTTP Metode.
  • Uklonite Host zaglavlje i možda ćete moći da zaobiđete zaštitu.

Faziranje Putanje

Ako je /putanja blokirana:

  • Pokušajte koristiti /%2e/putanja _(ako je pristup blokiran od strane proksija, ovo bi moglo da zaobiđe zaštitu). Pokušajte takođe_** /%252e**/putanja (dvostruko URL enkodirano)
  • Pokušajte Unicode zaobilaženje: /%ef%bc%8fputanja (URL enkodirani karakteri su poput "/") tako da kada se enkodiraju nazad biće //putanja i možda ste već zaobišli proveru imena /putanja
  • Druga zaobilaženja putanje:
  • sajt.com/tajno > HTTP 403 Forbidden
  • sajt.com/TAJNO > HTTP 200 OK
  • sajt.com/tajno/ > HTTP 200 OK
  • sajt.com/tajno/. > HTTP 200 OK
  • sajt.com//tajno// > HTTP 200 OK
  • sajt.com/./tajno/.. > HTTP 200 OK
  • sajt.com/;/tajno > HTTP 200 OK
  • sajt.com/.;/tajno > HTTP 200 OK
  • sajt.com//;//tajno > HTTP 200 OK
  • sajt.com/tajno.json > HTTP 200 OK (ruby)
  • Koristite sve ovu listu u sledećim situacijama:
  • /FUZZtajno
  • /FUZZ/tajno
  • /tajnoFUZZ
  • Druga API zaobilaženja:
  • /v3/korisnici_podaci/1234 --> 403 Forbidden
  • /v1/korisnici_podaci/1234 --> 200 OK
  • {“id”:111} --> 401 Neovlašćeno
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Neovlašćeno
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (Zagađenje JSON parametara)
  • user_id=ID_NAPADACA&user_id=ID_ZRTVE (Zagađenje parametara)

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 specijalne karaktere.
  • Izvršite testiranje granica u parametrima - pružite vrednosti poput -234 ili 0 ili 99999999 (samo neke primer vrednosti).

Verzija protokola

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

Ostali načini zaobilaženja

  • Dobijte IP ili CNAME domena i pokušajte da ga kontaktirate direktno.
  • Pokušajte da opteretite server slanjem uobičajenih GET zahteva (To je uspelo ovom momku sa Facebookom).
  • Promenite protokol: od http do https, ili sa https na http
  • Idite na https://archive.org/web/ i proverite da li je ta datoteka bila dostupna širom sveta 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 kredencijali" %}

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

{% endcode %}

Automatski alati

Trenutno dostupno podešavanje za procenu ranjivosti i testiranje proboja. Pokrenite kompletan pentest od bilo kog mesta sa preko 20 alata i funkcija koje idu od izviđanja do izveštavanja. Ne zamenjujemo pentestere - razvijamo prilagođene alate, module za otkrivanje i eksploataciju kako bismo im vratili nešto vremena 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 podrške HackTricks-u: