Как я могу проверить хэш-карту с помощью esapi?
Для этого кода:
HashMap temphashMap = session.getAttribute("abc");
Как я могу проверить хэш-карту на предмет уязвимости межсайтового скриптинга с помощью ESAPI?
1 ответ
Вы не можете сделать это. Чтобы выполнить проверку, вы должны заранее знать, специальные правила и потоки данных каждого отдельного элемента в этом HashMap
,
Как вы могли бы определить, было ли одно из полей формы в вашем приложении полем для форматированного текста, наподобие того, которое я использовал для ввода этого ответа? Что делать, если некоторые HTML-теги допустимы?
Ты не можешь этого знать.
Вот почему в 100 раз важнее убедиться, что данные правильно закодированы для соответствующего контекста.
Для этого вы будете использовать методы в ESAPI.encoder()
учебный класс.
Самое близкое к тому, о чем вы просите, - это настроить фильтр сервлета для каждой пары запрос / ответ, а затем использовать XSS-фильтр, такой как AntiSamy, чтобы разрешить определенные теги и запретить другие. Однако правила отличаются для значения, используемого в атрибуте HTML, тексте тега HTML или <textarea>
блок. Вам придется написать довольно значительное количество логики для того, чего вы могли бы избежать, просто экранируя все данные, прежде чем передать их другому интерпретатору.