Я работаю над защитой параметров входного запроса для моего приложения от атак XSS. Я наткнулся на шпаргалку owasp для защиты от атаки XSS. Я следую инструкциям на https://github.com/owasp/java-html-sanitizer.
Мне удалось заблокировать XSS-атаку (выполняется путем предоставления событий, таких как onMouseOver, добавляемый к входному параметру), используя следующий код:
PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.BLOCKS);
value = policy.sanitize(value); // Value is the "value" of input param
Это преобразует что-то вроде name = FIRST "onmouseover =" alert ('222') , предоставленное в строке запроса: X = Val1 & Y = & Z = & A= false & name = FIRST "onmouseover =" alert ('222') & B = 456 & C = 123 до
<span class="db-wrap-name" title="FIRST"" onload="alert('222s2')="">FIRST" onload="alert('2222')</span>
У меня вопрос, является ли эта санация достаточной для защиты входного параметра от XSS?
PS: Может кто-нибудь указать мне на линейный источник, чтобы пройти OWASP HTML Sanitization. Мне удалось понять это, но есть пробелы. Будет здорово, если я смогу получить линейный источник.
Спасибо