как игнорировать исключение ESAPI org.owasp.esapi.errors.IntrusionException: ошибка проверки ввода?

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

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

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

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

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

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

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

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


person Ayush    schedule 15.03.2019    source источник


Ответы (1)


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

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

-кевин

person Kevin W. Wall    schedule 18.03.2019