Błędna autoryzacja
BOLA i błędy kontroli dostępu
Błędna autoryzacja to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Uwierzytelnianie a autoryzacja
Uwierzytelnianie potwierdza, kim jesteś. Autoryzacja określa, co wolno ci robić.
Błędna autoryzacja oznacza, że system pozwala użytkownikom wykonywać działania lub wyświetlać dane, do których nie powinni mieć dostępu.
Czym jest BOLA
BOLA oznacza Broken Object Level Authorization.
To najpoważniejsze zagrożenie dla API: API sprawdza, czy użytkownik jest zalogowany, ale nie sprawdza, czy żądany obiekt rzeczywiście do niego należy.
Przykład BOLA
Załóżmy, że konto ma identyfikator użytkownika 100.
GET /api/users/100/ordersJeśli po zmianie identyfikatora serwer nadal odpowiada, udało się odczytać zamówienia innej osoby. To właśnie BOLA.
Dlaczego występuje BOLA
Programiści często ufają identyfikatorowi zawartemu w żądaniu.
Zapominają sprawdzić, czy zalogowany użytkownik rzeczywiście jest właścicielem tego obiektu. Rozwiązaniem jest sprawdzanie własności przy każdym żądaniu.
Autoryzacja na poziomie funkcji
Inną wadą jest BFLA: Broken Function Level Authorization.
Zwykły użytkownik wywołuje działanie przeznaczone tylko dla administratora i działanie się wykonuje, ponieważ endpoint nie sprawdza roli użytkownika.
Przykład BFLA
Rozważmy trasę administratora:
DELETE /api/admin/users/55Jeśli zwykły użytkownik może pomyślnie ją wywołać, API nie wymusiło dostępu opartego na rolach.
Masowe przypisywanie
Niektóre API bez sprawdzania mapują pola żądania na rekord.
Użytkownik może dodać pole takie jak role=admin do aktualizacji profilu i po cichu podnieść własne uprawnienia.
Sprawdzanie na serwerze
Nie wolno polegać na kliencie, który ukrywa przyciski lub pola.
Serwer musi wymuszać każdą decyzję dotyczącą autoryzacji, ponieważ atakujący wysyłają żądania bezpośrednio, całkowicie omijając interfejs użytkownika.
Używanie nieprzewidywalnych identyfikatorów
Sekwencyjne identyfikatory ułatwiają wykorzystanie BOLA.
Używanie losowych identyfikatorów, takich jak UUID, nie zastępuje kontroli autoryzacji, ale eliminuje prosty atak polegający na odgadnięciu kolejnego numeru.
Domyślna odmowa dostępu
Bezpieczne API domyślnie odrzuca dostęp.
Dostęp jest dozwolony tylko wtedy, gdy wyraźna reguła na niego zezwala. Dzięki temu pominięta kontrola kończy się odmową dostępu, zamiast ujawnieniem danych.
Testowanie autoryzacji
Błędy autoryzacji łatwo przeoczyć, dlatego należy testować je celowo.
Należy spróbować uzyskać dostęp do danych innego użytkownika za pomocą własnego tokenu. Jeśli się to uda, znaleziono poważną usterkę, którą należy naprawić.
Szybkie sprawdzenie
API potwierdza, że użytkownik jest zalogowany, ale po zmianie identyfikatora zwraca rekord innego użytkownika. Jaka to luka?
Podsumowanie
Błędna autoryzacja pozwala użytkownikom uzyskiwać dostęp do danych i wykonywać działania, do których nie powinni mieć uprawnień. Należy zwracać uwagę na BOLA, BFLA i masowe przypisywanie.
Kontrole własności i ról muszą być wymuszane na serwerze. Należy domyślnie odrzucać dostęp i celowo testować autoryzację.
Często zadawane pytania
Czy lekcja „Błędna autoryzacja” jest bezpłatna?
Tak — pełny tekst „Błędna autoryzacja” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Błędna autoryzacja”?
BOLA i błędy kontroli dostępu Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Błędna autoryzacja”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.