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:
- https://www.zaproxy.org/docs/desktop/addons/active-scan-rules/
- https://www.zaproxy.org/docs/desktop/addons/dom-xss-active-scan-rule/
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 [].
W ten sposób mamy zdefiniowane wszystkie requesty wykonywane przez naszą aplikację.
Dodajemy główny adres URL testowanej przez nas aplikacji i wybieramy Active scan… z menu kontekstowego.
W oknie dialogowym możemy pozostawić domyślne opcje.
Po kliknięciu Start scan
musimy trochę poczekać na zakończenie wszystkich testów. Wówczas będziemy mogli przejrzeć 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 []).