Testy penetracyjne aplikacji webowych
Automatyczne skanery znajdują podatności, które znajdzie każdy skaner. Błędy, które naprawdę bywają wykorzystywane - wadliwa autoryzacja, połączone nadużycia logiki biznesowej, subtelne obejścia uwierzytelniania - wymagają człowieka, który czyta Państwa aplikację tak, jak robi to napastnik. To właśnie daje ten projekt.
Co obejmuje
- Pokrycie OWASP Top 10
- Testy uwierzytelniania & sesji
- Testy autoryzacji / IDOR na wszystkich rolach
- Logika biznesowa & nadużycia przepływów
- Testy API REST / GraphQL
- Testy wstrzyknięć, SSRF, XXE i przesyłania plików
Produkty prac
- Streszczenie dla kierownictwa
- Raport techniczny z ustaleniami ocenionymi w skali CVSS
- Kroki odtworzenia & dowody w postaci zrzutów ekranu
- Priorytetyzowana mapa napraw
- Omówienie na żywo z Państwa zespołem
- List poświadczający dla audytorów i klientów, na życzenie
- Poświadczenie naprawy po ponownym teście, jako odrębny dokument
Harmonogram
3-5 dni roboczych, zależnie od liczby ról i rozmiaru powierzchni endpointów. Dokładny harmonogram potwierdzamy w pisemnej ofercie przed rozpoczęciem testów.
Tam, gdzie kończą się skanery, a zaczyna praca ręczna
Skaner znajdzie odbite XSS i przestarzałe biblioteki. Nie znajdzie tego, że endpoint usuwania komentarza sprawdza identyfikator komentarza, ale nie to, czy należy on do użytkownika składającego żądanie, ani tego, że zmiana parametru roli w trakcie składania zamówienia pomija krok weryfikacji płatności. To właśnie takie ustalenia bywają realnie wykorzystywane i wychodzą na jaw dopiero wtedy, gdy tester czyta rzeczywiste zachowanie aplikacji, zamiast dopasowywać znane sygnatury.
Testy pokrywają jako podstawę każdą kategorię OWASP Top 10, a następnie wchodzą głębiej w to, jak zbudowana jest konkretnie Państwa aplikacja: jej role i model uprawnień, jej wieloetapowe przepływy oraz kontrakty API. Jeśli aplikacja ma rolę administratora, proces rozliczeń albo przesyłanie plików, poświęcamy im osobną uwagę - zwykle to tam znajdują się ustalenia o największym wpływie.
Metodyka
Testy z uwierzytelnieniem na każdej roli zdefiniowanej w Państwa aplikacji, z Burp Suite do przechwytywania i ręczną analizą logiki. Pokrycie obejmuje klasy wstrzyknięć (SQLi, wstrzyknięcie poleceń, SSTI), uwierzytelnianie i zarządzanie sesjami, kontrolę dostępu zarówno w warstwie interfejsu, jak i API, SSRF oraz XXE tam, gdzie obsługiwane są pliki lub adresy URL, a także nadużycia przesyłania plików tam, gdzie to istotne. Każde ustalenie jest ręcznie weryfikowane przed zgłoszeniem - do raportu nie trafia żaden niepotwierdzony wynik skanera. Moje opublikowane kompendium eksploatacji webowej i metodyka rozpoznania odzwierciedlają te same techniki, których używam tutaj.
Czego testy nie robią
Bez testów odmowy usługi, bez działań destrukcyjnych na danych produkcyjnych i bez socjotechniki, o ile nie zostanie wprost ujęta w zakresie. Wszystko, co zagraża dostępności lub integralności danych, jest wcześniej potwierdzane z Państwem w ramach podpisanych zasad prowadzenia testów.
Pytania o testy aplikacji webowych
OWASP Top 10 jako podstawa - wstrzyknięcia, wadliwa kontrola dostępu, błędy uwierzytelniania, nieprawidłowa konfiguracja zabezpieczeń, SSRF i tak dalej - plus ręczne testy błędów logiki biznesowej, których automatyczne skanery nie znajdą: przerwane przepływy, luki autoryzacji typu IDOR, manipulacja ceną lub ilością oraz nadużycia wieloetapowych procesów specyficznych dla tego, jak Państwa aplikacja naprawdę działa.
Tak. Większość współczesnych aplikacji opiera się na API i to właśnie po stronie API zwykle znajdują się ciekawe ustalenia: brak autoryzacji na poziomie obiektu, mass assignment, luki w ograniczaniu liczby żądań i problemy z obsługą JWT. Jeśli mają Państwo API REST lub GraphQL, testujemy je razem z frontendem, a nie na końcu.
Testy ręczne, z narzędziami automatycznymi (Burp Suite i innymi) przyspieszającymi pokrycie, a nie zastępującymi osąd. Błędy logiki biznesowej, obejścia autoryzacji i połączone podatności znajduje człowiek czytający rzeczywiste zachowanie aplikacji, a nie skaner dopasowujący sygnatury.
Od 3 do 5 dni roboczych dla typowej aplikacji, zależnie od liczby ról, przepływów i endpointów API w zakresie. Większe aplikacje z wieloma rolami użytkowników lub złożonymi modelami uprawnień trwają dłużej - dokładny harmonogram potwierdzamy w pisemnej ofercie.
Tak i często jest to korzystniejsze - środowisko testowe eliminuje ryzyko dla prawdziwych danych klientów, a mimo to pozwala sprawdzić rzeczywistą logikę aplikacji, pod warunkiem że jest wiernym odbiciem produkcji. Testy na produkcji też są w porządku, w uzgodnionym oknie zasad prowadzenia testów.
Testy aplikacji webowych zaczynają się od 500 $, zależnie od liczby ról, przepływów i endpointów w aplikacji. Pisemną stałą cenę otrzymują Państwo przed rozpoczęciem testów - szczegóły na stronie cennika.
Dowiedzcie się Państwo pierwsi, co znalazłby prawdziwy napastnik
Bezpłatna rozmowa o zakresie, oferta ze stałą ceną w ciągu 24 godzin.