Черный список XSS - Кто-нибудь знает разумный? - PullRequest
2 голосов
/ 23 сентября 2008

В качестве временного быстрого исправления для снижения основного риска при работе над постоянным исправлением уязвимости XSS в очень большой кодовой базе я ищу уже существующий черный список предотвращения XSS, который выполняет разумную работу по защите от XSS .

Предпочтительно набор регулярных выражений. Мне известно множество шпаргалок для тестирования, тестов на дым и т. Д., Я ищу предварительно настроенные регулярные выражения для блокировки атак.

Я полностью осознаю, что лучшим способом является выход, экранирующий или если вам нужна некоторая разметка от пользователей для использования белого списка. Но с учетом размера базы кода нам нужно что-то быстро, чтобы уменьшить непосредственный след уязвимости и поднять планку при работе над реальным решением.

Кто-нибудь знает о хорошем сете?

Ответы [ 6 ]

3 голосов
/ 23 сентября 2008

Я понимаю, что это не может быть прямым ответом на ваш вопрос, но разработчики ASP.NET в аналогичной ситуации могут найти это полезным:

Библиотека сценариев Microsoft Anti-Cross Site V1.5

Эта библиотека отличается от большинства библиотек кодирования тем, что в ней используется метод "принципа включений" для обеспечения защиты от XSS-атак. Этот подход сначала определяет допустимый или допустимый набор символов и кодирует все, что находится за пределами этого набора (недопустимые символы или потенциальные атаки). Принцип включения включений обеспечивает высокую степень защиты от XSS-атак и подходит для веб-приложений с высокими требованиями безопасности.

2 голосов
/ 23 сентября 2008

Не уверен, что вы используете PHP, но если это так, вы должны посмотреть на HTMLPurifer . Это чрезвычайно просто в использовании; просто добавьте вызов в метод purify(), где вы принимаете ввод или выводите его. Его подход, основанный на белом списке, блокирует каждую XSS-атаку, с которой я тестировал.

2 голосов
/ 23 сентября 2008

Вот один из них: http://ha.ckers.org/xss.html, но я не знаю, завершено ли оно.

CAL9000 - это еще один список, где вы можете найти что-то подобное.

1 голос
/ 23 сентября 2008

Шпаргалка на ha.ckers.org/xss.html не заполнена. Мой коллега нашел один или два, которых там нет. RSnake перечисляет множество фильтров регулярных выражений, которые проходит каждая строка атаки. Используйте несколько, и вы можете закрыть достаточно отверстий.

Это было бы хорошей отправной точкой. Если ничего другого, чтобы знать, какие вещи вам нужно искать.

Используйте это как место для начала и убедитесь, что написанные вами сценарии экранируют достаточно символов, чтобы любые атаки, которые ваши черные списки пропускали, оказывались безобидными. Что хорошего в инъекции xss, если ни один браузер не отображает ее?

В действительности, экранирование достаточного количества правильных персонажей проходит большую часть пути здесь. Довольно сложно внедрить XSS в сценарий, который превращает каждый <в <code>&lt; и «уходит» в &quot;.

0 голосов
/ 24 сентября 2008

То, что вы хотите, это IDS (система обнаружения вторжений). Если вы используете PHP, есть PHPIDS . Он поддерживается и тестируется отличным хакерским сообществом. Они старались изо всех сил, чтобы улучшить фильтры, намного превосходящие первоначальный список Rsnake. Где-то был также порт .NET, не уверен, что он все еще поддерживается.

0 голосов
/ 23 сентября 2008

Если вы запускаете Apache, вы можете использовать mod_security , чтобы закрыть некоторые дыры. По крайней мере, он предоставит вам инструмент ( console или простой лог-файл) для мониторинга трафика и реагирования, пока не стало слишком поздно. Кроме того, gotroot.com содержит несколько интересных правил для веб-приложений.

Опять же, я не знаю, какие дыры вы закрываете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...