как игнорировать исключение ESAPI "org.owasp.esapi.errors.IntrusionException: Ошибка проверки ввода"? - PullRequest
0 голосов
/ 15 марта 2019

Мой проект (построенный на JSP, Struts, hibernate) принимает данные от пользователя и сохраняет их в базе данных.Для обеспечения безопасности моего приложения я использовал ESAPI jar.

Я получаю исключение

org.owasp.esapi.errors.IntrusionException: ошибка проверки ввода

при методе ESAPI.encoder().canonicalize();

Это исключение обычно возникает, когда мы копируем и вставляем данные из Skype, MS Word и т. Д.

Когда я копирую и вставляю строку из скайп-мессенджера, он автоматически добавляет дополнительные данные стилей с помощью div, meta, p,и т. д. (все теги HTML), что приводит к добавлению многих специальных символов, которые могут вызывать исключение, упомянутое выше.

Но когда я копирую строку из блокнота, это не дает исключения.

Как я могу игнорировать это исключение, чтобы я мог добавить данные?Есть ли что-то для изменения в ESAPI.properties или validation.properties?каковы ваши взгляды?

1 Ответ

0 голосов
/ 18 марта 2019

Я думаю, что ваша странная проблема связана с дополнительной кодировкой, когда вы вставляете что-то из (скажем) MS Word, а не из чего-то простого, например, из блокнота. Когда вы находитесь в Word, он выбирает некоторые дополнительные метаданные, и по умолчанию «вставить» из «MS Word» действительно «вставить специальные». Это сделано для того, чтобы вы могли копировать текст из одного приложения Office в другое (например, Word в Outlook) и «сохранять форматирование». Я думаю, что все эти дополнительные метаданные, которые вы получаете, сбивают вас с толку, потому что, вероятно, ESAPI выглядит как мультикодированный или считает, что используется смешанное кодирование.

Тем не менее, если вы хотите выполнить проверку, вам действительно следует использовать один из методов Validator.isValidInput () или Validator.getValidInput (). Это вызов Encoder.canonicalize () по умолчанию (если только вы не используете последнюю версию ESAPI из ветви 'Develop', где вы можете фактически отключить канонизацию - недавнее исправление ошибки).

* 1005 Кевин *

...