API nie ma interfejsu, który ukryje błędy autoryzacji. Sprawdzamy każdy punkt końcowy tak, jakby atakujący znał go równie dobrze jak Wasi programiści.
Podmiana identyfikatora w żądaniu i dostęp do cudzych zasobów. Najczęstsza podatność w API i zarazem najprostsza do wykorzystania.
Wywołanie operacji administracyjnych z konta zwykłego użytkownika. Punkty końcowe ukryte w interfejsie, ale dostępne bezpośrednio.
Odpowiedzi zawierające więcej pól, niż potrzebuje klient - hasła w postaci skrótów, dane wewnętrzne, identyfikatory innych użytkowników.
Przesłanie pola, którego formularz nie wysyła, na przykład roli albo statusu weryfikacji, i sprawdzenie, czy serwer je przyjmie.
Brak ograniczeń przy logowaniu, resecie hasła i operacjach kosztownych obliczeniowo. Skutki od przejęcia konta po rachunek za infrastrukturę.
Walidacja podpisu, czas życia, unieważnianie, zakres uprawnień, obsługa tokenów odświeżających.
W aplikacji z interfejsem część błędów autoryzacji przez lata pozostaje niezauważona, bo nikt nie widzi przycisku prowadzącego do cudzych danych. API takiej osłony nie ma. Punkty końcowe są przewidywalne, a struktura odpowiedzi sama podpowiada, co jeszcze da się poprosić.
Najczęstsza i najgroźniejsza podatność to autoryzacja na poziomie obiektu. Żądanie o zasób numer 1042 działa poprawnie, żądanie o 1041 zwraca cudze dane. Serwer sprawdził, że jesteś zalogowany, ale nie sprawdził, czy ten konkretny zasób należy do Ciebie. Wykrycie tego wymaga dwóch kont i systematycznego przejścia przez wszystkie punkty końcowe.
Druga rodzina błędów bierze się z zaufania do klienta. Mass assignment, czyli przyjęcie pola, którego formularz nie wysyła - na przykład roli użytkownika albo statusu weryfikacji. Oraz nadmierna ekspozycja danych, gdy odpowiedź zawiera komplet pól z bazy, a aplikacja po prostu nie wyświetla części z nich.
Jeśli macie specyfikację OpenAPI albo kolekcję zapytań, prześlijcie ją przy wycenie. Skraca to test i obniża koszt, bo nie musimy odtwarzać listy punktów końcowych metodą prób.
Definiujemy, co testujemy, w jakim trybie i w jakich godzinach. Doprecyzowujemy, co jest poza zakresem.
Pełna poufność na każdym etapie. Znalezione podatności zostają między nami.
Testy manualne wsparte narzędziami. Krytyczne znaleziska zgłaszamy od razu, nie czekamy z nimi do raportu.
Raport z oceną ryzyka, krokami reprodukcji i rekomendacjami. Po wdrożeniu poprawek sprawdzamy je ponownie.
Prześlij dokumentację albo opisz zakres - odpiszemy w 24 h z wyceną opartą na liczbie punktów końcowych.
Zapytaj o wycenęPozostałe rodzaje testów