2016-09-08 4 views
-1

Чтобы избежать атаки Cross-Site-Scripting, я должен дезинфицировать/проверять объект Java, который поступает из RequestBody. Могу ли я использовать Encoder (из OWASP) для кодирования всего java-объекта. Похоже, что Encoder будет кодировать только строки и не может принимать объекты. У меня есть аналогичная проблема во многих местах, где я должен справиться с этой проблемой.Как дезинфицировать объект Java с помощью кодера OWASP?

Есть ли способ сделать санитаж для целого объекта, чтобы избежать проблемы с скриптом межсайтового сценария?

+0

Что содержит ваш объект? – yaloner

+0

А также, каким образом он возвращается на клиентскую сторону? – yaloner

+0

Этот объект содержит несколько других свойств, включая список, объект, целые числа и строки. Тот же ввод будет возвращен клиенту, добавив еще несколько значений свойств. – hemanth

ответ

1

Как вы заметили, дезинфекция ввода для предотвращения XSS (Cross Site Scripting) применима только к строкам. Кодирование других типов невозможно или бессмысленно.

Чтобы понять это лучше, вам необходимо понять механизм и вектор атаки XSS. Я предлагаю начать здесь: OWASP XSS

Чтобы решить вашу проблему, было бы разумно создать собственный метод, который после получения объекта из запроса дезактивирует его, перейдя все его строки (не забудьте строки в списках и другие структуры данных) и кодировать их с помощью кодера OWASP.

Удачи вам!