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

9.3 KiB
Raw Blame History

403 & 401 Bypasses

{% hint style="success" %} Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks
{% endhint %}

#### Dobijte perspektivu hakera na vaše web aplikacije, mrežu i cloud

Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem. Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

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 pristup privatnim informacijama. Pokušajte zloupotrebiti HTTP Request Smuggling ili hop-by-hop zaglavlja.
  • Fuzz posebna HTTP zaglavlja tražeći različite odgovore.
  • Fuzz posebna 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 proksijem, ovo bi moglo zaobići zaštitu). Pokušajte takođe_** /%252e**/path (dupla URL enkodiranje)
  • Pokušajte Unicode bypass: /%ef%bc%8fpath (URL enkodirani karakteri su kao "/") tako da kada se ponovo enkodira biće //path i možda ste već zaobišli proveru imena /path
  • Drugi 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 svih ovih 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 parametrom

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

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

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

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

{% endcode %}

Automatski alati

#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku

Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem. Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

{% hint style="success" %} Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks
{% endhint %}