Как закодировать ответ на JSON в фильтре без сбоев XSS - PullRequest
0 голосов
/ 19 сентября 2018

НИЖЕ - отчет об анализе статического кода от SpotBugs

XSS_SERVLET: потенциальный XSS в сервлете. Потенциальный XSS был найден.Он может быть использован для выполнения нежелательного JavaScript в браузере клиента.(См. Ссылки)

Уязвимый код:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {
String input1 = req.getParameter("input1");
[...]
resp.getWriter().write(input1);
}

Решение:

protected void doGet(HttpServletRequest req, HttpServletResponse resp)     throws ServletException, IOException {
    String input1 = req.getParameter("input1");
    [...]
    resp.getWriter().write(Encode.forHtml(input1))

Encode.forJava для JavaScript пишет специальные символы и строка JSON скомпрометирована.

Как использовать Encoder для отправки строки JSON.без сбоя безопасности ПРОВЕРИТЬ

1 Ответ

0 голосов
/ 28 сентября 2018

Возможно, вы могли бы взглянуть на OWASP JSON sanitizer https://www.owasp.org/index.php/OWASP_JSON_Sanitizer#tab=Main?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...