Automatyczne testowanie XSS

Automatyczne testowanie XSS

W ramach rozszerzenia poprzedniego artykułu o ręcznym szukaniu podatności typu XSS warto jeszcze wspomnieć o metodzie na automatyczne testowanie XSS. Jest to możliwe z użyciem OWASP ZAP.
Zobaczmy krok po kroku w jaki sposób.

Instrukcja testów

Na początku musimy się upewnić, że mamy zainstalowane dodatki:

Następnie przechodzimy do testowania. Każdorazowo testy w OWASP ZAP należy zacząć od definicji zapytań (requestów) w ramach aplikacji – etap discovery (odkrywania aplikacji).

Najprościej zrobić to ręcznie za pomocą odpowiednio skonfigurowanej przeglądarki. Możemy ją otworzyć za pomocą zaznaczonego przycisku. Inne możliwości na definiowanie requestów możesz znaleźć w [].

Przycisk otwierania przegladarki
Przycisk otwierania przegladarki

W ten sposób mamy zdefiniowane wszystkie requesty wykonywane przez naszą aplikację.

OWASP ZAP - lista requestów
OWASP ZAP – lista requestów

Dodajemy główny adres URL testowanej przez nas aplikacji i wybieramy Active scan…  z menu kontekstowego.

OWASP ZAP - rozpoczęcie skanowania
OWASP ZAP – rozpoczęcie skanowania

W oknie dialogowym możemy pozostawić domyślne opcje.

OWASP ZAP - Active Scan
OWASP ZAP – Active Scan

Po kliknięciu Start scan musimy trochę poczekać na zakończenie wszystkich testów. Wówczas będziemy mogli przejrzeć wyniki.

Automatyczne testowanie XSS- wyniki
Automatyczne testowanie XSS- wyniki

Analiza wyników

Niezwykle istotne jest późniejsze dobre przeanalizowanie wyników testów OWASP ZAP. Niestety narzędzie to wymaga każdorazowo weryfikacji czy znaleziony przypadek jest rzeczywiście problematyczny. Z reguły automatyczne testy wykrywają sporo false-positive. Jednak mimo to jest to świetne narzędzie do wstępnej identyfikacji miejsc, które należy poddać ręcznym testom. Na początku, używając instrukcji podanej przez OWASP ZAP, a potem korzystając z bardziej ogólnych metod (jak na przykład opisana w innym moim artykule []).