Идея состоит в том, чтобы создать статический анализатор, способный обнаруживать все поля параметров со всех динамических страниц.
Нельзя использовать сканер web (в основном, HTML-парсер) для извлечения параметров запроса.Они могут максимально сканировать структуру HTML.Вы можете использовать, например, Jsoup для этого:
for (Element form : Jsoup.connect("http://google.com").get().select("form")) {
System.out.printf("Form found: action=%s, method=%s%n", form.attr("action"), form.attr("method"));
for (Element input : form.select("input,select,textarea")) {
System.out.printf("\tInput found: name=%s, value=%s%n", input.attr("name"), input.attr("value"));
}
}
Это печатает в настоящее время
Form found: action=, method=
Input found: name=hl, value=en
Input found: name=source, value=hp
Input found: name=ie, value=ISO-8859-1
Input found: name=q, value=
Input found: name=btnG, value=Google Search
Input found: name=btnI, value=I'm Feeling Lucky
Input found: name=, value=
Form found: action=/search, method=
Input found: name=hl, value=en
Input found: name=source, value=hp
Input found: name=ie, value=ISO-8859-1
Input found: name=q, value=
Input found: name=btnG, value=Google Search
Input found: name=btnI, value=I'm Feeling Lucky
Если вы хотите сканировать источник JSP код для любых форм / входов, тогда вы должны смотреть в другом направлении, это определенно не должно называться "веб-сканер".К сожалению, такой инструмент статического анализа не приходит в голову.Самое близкое, что вы можете получить, это создать Filter
, в котором регистрируются все отправленные параметры запроса.
Map<String, String[]> params = request.getParameterMap();
// ...