Najczęstszym punktem wstrzyknięcia złośliwych treści do aplikacji są wartości parametrów przekazywanych do niej. Aby poznać, jakie parametry używa dana aplikacja, należy przeprowadzić fazę rekonesansu, czyli testować różne funkcjonalności i zauważać, jakie parametry są wtedy przesyłane. Jednakże, jeśli nie ma się dostępu do pełnej dokumentacji technicznej lub kodu źródłowego, a funkcjonalności nie są w pełni zaimplementowane w interfejsie użytkownika, może okazać się trudne zidentyfikowanie wszystkich obsługiwanych parametrów.
Na szczęście, istnieje wtyczka o nazwie „param-miner”, która umożliwia testowanie ponad 65000 unikalnych nazw parametrów w zapytaniach typu GET i POST. Wtyczka ta radzi sobie również z formatem JSON oraz sprawdza parametry w nagłówkach i ciasteczkach.
Aby skorzystać z wtyczki, wystarczy kliknąć prawym przyciskiem myszy na żądanie (request), które chcemy przetestować, a następnie wybrać odpowiednią opcję z menu kontekstowego. W konfiguracji wtyczki można wybrać opcje, które nas interesują.
Kolejno konfigurujemy ustawienia, zaznaczając opcje, które nas interesują:
W loggerze będziemy mogli zauważyć, że wtyczka zaczęła swoją pracę poprzez sprawdzanie różnych parametrów:
Gdy uda jej się zidentyfikować parametr, objawiający się nieoczekiwaną odpowiedzią serwera, poinformuje nas o tym w sekcji „Issues”:
Na przykład, w przypadku testowanego żądania typu GET, wtyczka zidentyfikowała parametr „utm_content”, który pozwolił na zidentyfikowanie podatności typu cross site scripting (XSS):
Wtyczkę „param-miner” można pobrać ze sklepu BApp Store lub z repozytorium na Githubie: https://github.com/PortSwigger/param-miner