403 & 401 Bypasses

Podržite HackTricks

Odmah dostupna postavka za procenu ranjivosti i penetraciono testiranje. Izvršite potpuni pentest sa bilo kog mesta sa 20+ alata i funkcija koje idu od rekognicije do izveštavanja. Ne zamenjujemo pentestere - razvijamo prilagođene alate, module za detekciju i eksploataciju kako bismo im vratili malo vremena da dublje istraže, otvore shell-ove i zabave se.

HTTP Verbs/Methods Fuzzing

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

  • Proverite zaglavlja odgovora, možda se može dobiti neka informacija. Na primer, 200 odgovor na HEAD sa Content-Length: 55 znači da HEAD glagol može pristupiti informaciji. Ali još uvek morate pronaći način da exfiltrirate te informacije.

  • Korišćenje HTTP zaglavlja kao što je X-HTTP-Method-Override: PUT može prepisati korišćeni glagol.

  • Koristite TRACE glagol i ako imate sreće, možda u odgovoru možete videti i zaglavlja koja su dodali međuproksiji koja bi mogla biti korisna.

HTTP Headers Fuzzing

  • Promenite Host zaglavlje na neku proizvoljnu vrednost (to je ovde uspelo)

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

  • Fuzz HTTP zaglavlja: Pokušajte koristiti HTTP Proxy zaglavlja, HTTP autentifikaciju Basic i NTLM brute-force (samo sa nekoliko kombinacija) i druge tehnike. Da bih sve ovo uradio, napravio sam 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 da pristupite privatnim informacijama. Pokušajte da zloupotrebite HTTP Request Smuggling ili hop-by-hop zaglavlja.

  • Fuzz specijalna HTTP zaglavlja tražeći različite odgovore.

  • Fuzz specijalna HTTP zaglavlja dok fuzzujete HTTP metode.

  • Uklonite Host zaglavlje i možda ćete moći da zaobiđete zaštitu.

Path Fuzzing

Ako je /path blokiran:

  • Pokušajte koristiti /%2e/path _(ako je pristup blokiran od strane proksija, ovo bi moglo zaobići zaštitu). Pokušajte takođe_** /%252e**/path (dupla URL enkodiranje)

  • Pokušajte Unicode zaobilaženje: /%ef%bc%8fpath (URL enkodirani karakteri su poput "/") tako da kada se ponovo enkodira, biće //path i možda ste već zaobišli proveru imena /path

  • Druga zaobilaženja putanje:

  • site.com/secret –> HTTP 403 Forbidden

  • 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)

  • Koristite sve ovu listu u sledećim situacijama:

  • /FUZZsecret

  • /FUZZ/secret

  • /secretFUZZ

  • Druga API zaobilaženja:

  • /v3/users_data/1234 --> 403 Forbidden

  • /v1/users_data/1234 --> 200 OK

  • {“id”:111} --> 401 Unauthorized

  • {“id”:[111]} --> 200 OK

  • {“id”:111} --> 401 Unauthorized

  • {“id”:{“id”:111}} --> 200 OK

  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON Parameter Pollution)

  • user_id=ATTACKER_ID&user_id=VICTIM_ID (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 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 koristiti 1.0 ili čak testirajte da li podržava 2.0.

Druga zaobilaženja

  • Dobijte IP ili CNAME domena i pokušajte kontaktirati ga direktno.

  • Pokušajte da opterećujete server slanjem uobičajenih GET zahteva (Ovo je uspelo ovom tipu sa Facebook-om).

  • Promenite protokol: sa http na https, ili za https na http

  • Idite na https://archive.org/web/ i proverite da li je u prošlosti ta datoteka bila globalno dostupna.

Brute Force

  • Pogodite lozinku: Testirajte sledeće uobičajene kredencijale. Da li znate nešto o žrtvi? Ili ime CTF izazova?

  • Brute force: Pokušajte osnovnu, digest i NTLM autentifikaciju.

Uobičajeni kredencijali
admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

Automatski alati

Odmah dostupna postavka za procenu ranjivosti i penetraciono testiranje. Pokrenite potpuno pentestiranje sa bilo kog mesta sa 20+ alata i funkcija koje idu od rekognicije do izveštavanja. Ne zamenjujemo pentestere - razvijamo prilagođene alate, module za detekciju i eksploataciju kako bismo im vratili malo vremena da dublje istraže, otvore shell-ove i zabave se.

Podržite HackTricks

Last updated