0Pricing
Cyber Security Academy · Lekcja

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/orders

Jeś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/55

Jeś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.

Wszystkie lekcje w tym kursie

  1. Powierzchnia ataku API
  2. Błędna autoryzacja
  3. Ograniczanie szybkości i nadużycia
  4. Zabezpieczanie kluczy API
← Powrót do Cyber Security Academy