| Termin | Definicja |
|---|---|
| możliwość pominięcia autoryzacji w API | Pominięcie autoryzacji w API to poważna luka pozwalająca wywołać chronione operacje bez uwierzytelnienia. Na czym polega pominięcie autoryzacji w APIMożliwość pominięcia autoryzacji w API oznacza, że aplikacja pozwala uzyskać dostęp do chronionej funkcji bez spełnienia wymaganego warunku uprawnień. Użytkownik lub program wysyła żądanie do endpointu, czyli adresu obsługującego konkretną operację, lecz serwer nie sprawdza poprawnie, czy żądający został uwierzytelniony i czy ma prawo wykonać daną czynność. Problem może dotyczyć zarówno braku kontroli, jak i błędnej kolejności kontroli, niewłaściwej interpretacji tokenu albo pozostawienia testowego mechanizmu dostępu w wersji używanej przez klientów. Uwierzytelnienie odpowiada na pytanie, kim jest osoba lub aplikacja wysyłająca żądanie, natomiast autoryzacja określa, co ten podmiot może zrobić. Sam fakt zaakceptowania poprawnego tokenu, sesji lub klucza API nie powinien automatycznie oznaczać dostępu do wszystkich operacji. Serwer musi osobno ocenić uprawnienia do konkretnego zasobu i działania. Błąd może więc wystąpić nawet wtedy, gdy logowanie działa prawidłowo, ale endpoint pomija sprawdzenie roli, właściciela rekordu albo zakresu uprawnień przypisanego do tokenu. Typowe ścieżki powstawania błędu w aplikacjiJednym ze źródeł luki jest zabezpieczenie tylko interfejsu użytkownika. Ukrycie przycisku w aplikacji lub na stronie nie blokuje bezpośredniego wywołania endpointu. Kontrola musi znajdować się po stronie serwera, ponieważ klient może zostać zmodyfikowany, a żądanie może zostać utworzone niezależnie od oficjalnego interfejsu. Podobny błąd powstaje wtedy, gdy ochroną objęto metodę odczytu, ale zapomniano o odpowiadającej jej operacji modyfikacji, usunięcia lub eksportu danych. Niebezpieczne są również różnice między ścieżkami API, na przykład pominięcie kontroli w starszej wersji endpointu, wariancie przeznaczonym dla aplikacji mobilnej albo alternatywnej metodzie HTTP. Kontrola może być wykonywana dla jednego sposobu zapisu adresu, lecz pomijana przy innym routingu, przekierowaniu lub błędnie skonfigurowanym prefiksie. W praktyce trzeba sprawdzać każdy endpoint osobno, razem z metodą żądania, wymaganymi nagłówkami, parametrami oraz regułami dostępu do konkretnego identyfikatora zasobu. Skutki i bezpieczne potwierdzanie podatnościSkutki zależą od zakresu operacji dostępnych bez autoryzacji. Luka może umożliwić odczyt informacji, zmianę ustawień konta, pobranie pliku, utworzenie obiektu, usunięcie rekordu albo wykonanie działania zarezerwowanego dla administratora. Szczególnie istotny jest przypadek, w którym serwer przyjmuje identyfikator cudzego zasobu bez sprawdzenia relacji między tym zasobem a zalogowanym użytkownikiem. Wtedy problem dotyczy nie tylko braku logowania, lecz także kontroli dostępu na poziomie pojedynczego obiektu. Weryfikację należy prowadzić w środowisku testowym lub na wyraźnie zatwierdzonym koncie, używając niegroźnego rekordu testowego. Należy porównać odpowiedź dla żądania bez danych uwierzytelniających, z nieważnym tokenem, z tokenem użytkownika o ograniczonej roli oraz z prawidłowym kontem właściciela zasobu. Ocenia się kod odpowiedzi HTTP, treść odpowiedzi i faktyczny stan danych po operacji. Sam kod Naprawa kontroli dostępu i sprawdzenie komputeraNaprawa polega na wymuszeniu jednolitej kontroli dostępu na serwerze przed wykonaniem każdej chronionej operacji. Reguły powinny jasno określać wymagane uwierzytelnienie, role, zakresy uprawnień oraz warunek dostępu do konkretnego zasobu. Nie należy ufać identyfikatorom, rolom ani flagom przesyłanym wyłącznie przez klienta. Po zmianie trzeba ponownie sprawdzić scenariusze odmowy, przejrzeć wszystkie wersje API i upewnić się, że błędne żądanie nie powoduje częściowego wykonania operacji. Na komputerze użytkownika warto sprawdzić, czy problem nie wynika z nieaktualnej aplikacji, rozszerzenia przeglądarki, zapisanej sesji lub lokalnego programu korzystającego z API. Aktualizacja klienta nie naprawi jednak błędu po stronie serwera, dlatego konieczne jest ustalenie miejsca występowania problemu. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a przy diagnozie problemów z aplikacjami może pomóc ustalić, czy źródłem objawów jest komputer, konfiguracja klienta czy zdalna usługa API. |