Jesteś na serwisie Testy penetracyjne — to osobna część audytor-it.pl Wróć do serwisu głównego →

Wariant

Test penetracyjny aplikacji webowych i API

Aplikacja bywa jedynym miejscem, w którym dane wychodzą poza sieć. Sprawdzam, czy da się je stamtąd wyprowadzić cudzymi uprawnieniami.

Dla kogo jest ten test

Dla organizacji, które mają własną aplikację — portal klienta, panel do zamawiania, system wewnętrzny, publiczne API dla partnerów. Test jest potrzebny zarówno przed udostępnieniem aplikacji na zewnątrz, jak i po zmianach: przebudowa modułu uwierzytelniania albo dodanie API potrafi cofnąć zabezpieczenia wypracowane wcześniej.

Test przydaje się też, gdy aplikacja przechodzi audyt zgodności — kod dostarcza dowodu technicznego, którego nie zastąpi przegląd dokumentacji.

Co dokładnie sprawdzam

  • kontrolę dostępu: czy da się zobaczyć lub zmienić cudze dane, zmieniając identyfikator albo żądając zasobu bezpośrednio,
  • uwierzytelnianie i zarządzanie sesją: trwałość sesji, wylogowanie, odświeżanie tokenów,
  • OWASP Top 10: wstrzykiwanie zapytań, wadliwa walidacja na serwerze, błędy autoryzacji i konfiguracji,
  • API REST i GraphQL: autoryzacja na poziomie punktów końcowych, nadmiarowe dane w odpowiedziach, zapytania pozwalające odczytać to, czego nie powinny,
  • logikę biznesową: czy da się obejść limity, powtórzyć operację wielokrotnie, ominąć etap płatności lub zatwierdzenia,
  • obsługę plików: przesyłanie, walidację typów, przechowywanie i dostęp do nich,
  • nagłówki i konfigurację warstwy webowej pod kątem polityki bezpieczeństwa treści.

Jak wygląda praca krok po kroku

  1. Ustalenie zakresu: adresy, role w aplikacji, środowisko testowe albo produkcyjne, konta dla testera, granice ingerencji w dane.
  2. Rozpoznanie: mapowanie funkcji, punktów końcowych API i przepływów danych z perspektywy każdej roli.
  3. Weryfikacja: potwierdzenie podatności z dowodem w postaci żądania i odpowiedzi, z oceną wpływu na dane i dostępność.
  4. Ocena wykrywalności: czy Państwa monitoring odnotowuje nietypowe żądania.
  5. Raport i omówienie z zespołem programistów.

Czego ten wariant nie obejmuje

Nie testuję aplikacji mobilnych jako osobnego kanału (mogę to objąć dodatkowym zakresem), nie robię przeglądu kodu źródłowego w trybie białej skrzynki ani nie prowadzę testów wydajnościowych. Nie zmieniam trwale danych w środowisku produkcyjnym: operacje zapisujące wykonuję na koncie testowym i w zakresie, który Państwo zatwierdzą. Nie naprawiam znalezionych błędów — dostarczam opis i rekomendację.

Co Państwo dostają po zakończeniu

Raport techniczny z podziałem na funkcje aplikacji: każde ustalenie z żądaniem i odpowiedzią, opisem wpływu, priorytetem i rekomendacją. Osobna sekcja dotyczy API, jeśli w zakresie jest — z listą punktów końcowych wymagających poprawy autoryzacji. W raporcie wykonawczym ryzyko jest przetłumaczone na skutki: jakie dane mógłby odczytać lub zmienić atakujący i komu to zaszkodzi.

Czego szukamy najczęściej

W aplikacjach, które testuję, trzy problemy powtarzają się najczęściej. Pierwszy to kontrola dostępu na poziomie obiektu: funkcja sprawdza, czy użytkownik jest zalogowany, ale nie sprawdza, czy ten konkretny rekord należy do niego. Drugi — autoryzacja w API: front ukrywa niedostępne operacje, ale punkt końcowy przyjmuje je od każdego, bo zabezpieczenie zostało tylko w warstwie prezentacji. Trzeci to logika biznesowa, której nie da się wykryć skanerem: rabaty, wielokrotne użycie kodu, kolejność kroków, którą można przestawić. Dlatego test aplikacji wymaga rozumienia procesu, a nie tylko listy sygnatur.

Ile trwa i ile kosztuje

Wycena zależy od liczby aplikacji, liczby ról oraz liczby punktów końcowych API — nie od liczby stron, bo te można policzyć automatycznie. Stawka 250 zł netto za godzinę, widełki ±20%; pełny model i kwoty w sekcji wyceny.

WariantŚrodowiskoCzasKwota netto (±20%%)
Web1 aplikacja, 2 role44 h8 800 – 13 200 zł
Web2 aplikacje, 3 role, 50 endpointów API70 h14 000 – 21 000 zł

Jeśli aplikacja ma środowisko testowe z reprezentatywnymi danymi, test jest krótszy i bezpieczniejszy. Brak takiego środowiska wydłuża zakres, bo część operacji trzeba zaplanować ostrożniej na produkcji.

Powiązane warianty

Test aplikacji pokazuje, co da się zrobić przez interfejs i API. Gdy aplikacja korzysta z domeny, warto objąć także Active Directory, a gdy jest wystawiona w sieci wewnętrznej — test sieci wewnętrznej. Osobno opisuję scenariusz dnia zero.

Pytania o ten wariant

Czy test aplikacji zastępuje przegląd kodu źródłowego?

Nie. Test sprawdza aplikację uruchomioną, czyli to, co faktycznie widzi i może wykorzystać atakujący — także warstwy, do których kod nie ma dostępu, na przykład konfigurację serwera. Przegląd kodu pokazuje intencje programisty i znajduje błędy w miejscach trudno dostępnych z zewnątrz. Oba podejścia się uzupełniają.

Czy test działa na produkcji, czy potrzebne jest środowisko testowe?

Najlepiej oba: produkcja pokazuje realną konfigurację, a środowisko testowe pozwala bezpiecznie sprawdzić operacje zapisujące. Jeśli jest tylko produkcja, test prowadzę z ograniczeniami — na koncie testowym i bez trwałych zmian w danych, które Państwo zatwierdzili.

Czy sprawdzają Państwo też API, którego używają nasi partnerzy?

Jeśli jest w zakresie — tak, i zwykle to najbardziej wartościowa część testu. API bywa udostępniane szerzej niż interfejs, a kontrola dostępu sprawdzana jest wyłącznie w przeglądarce. Test obejmuje wtedy autoryzację punktów końcowych, nadmiarowe dane w odpowiedziach i zachowanie przy nieprawidłowych parametrach.

Kiedy powinno się powtórzyć test?

Po zmianach w uwierzytelnianiu, po dodaniu nowego modułu albo API oraz po większej przebudowie. Retest samego zakresu poprawek jest tańszy od pełnego testu i wystarcza, gdy zmiany dotyczyły ustalonych wcześniej punktów.

Pozostałe pytania — o czas trwania, dane z testu, podstawy prawne i koszt — zebrałem w sekcji pytania i odpowiedzi. Orientacyjne kwoty i model wyliczenia są w wycenie.

Kontakt

Napisz — odpowiem w ciągu 24 h

Krótki opis środowiska wystarczy. Wycenę potwierdzam po jednym kontakcie.

Wycena z kalkulatora

Skorzystaj z kalkulatora, aby dopiąć wariant, zakres i szacunkową wycenę do zapytania.

Odpowiedź w ciągu 24 h w dni robocze.