Уязвимость в хэш-таблице asp.net - PullRequest
2 голосов
/ 09 января 2012

28.12.2011 US-CERT выпустил бюллетень о том, что большинство веб-серверов подвержены атакам DOS из-за способа обработки коллизий хеш-таблиц.Статья здесь

Может кто-нибудь объяснить, где эта хеш-таблица вписывается в жизненный цикл ASP.NET?Это одна хеш-таблица на сеанс или одна большая хеш-таблица на экземпляр сервера?

Спасибо, Фидель

Ответы [ 2 ]

2 голосов
/ 09 января 2012

Хеш-таблица: Request.Form.

Сервер анализирует данные формы и помещает пары ключ-значение в коллекцию Request.Form.Если данные формы содержат ключи, которые генерируют тот же хеш-код, то он создает коллизии хеш-функции, которые снижают производительность хеш-таблицы.

Таким образом, это не одна таблица на сервер или сеанс, а одна таблица на запрос POST.

0 голосов
/ 09 января 2012

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

Это одна из этих вещей, хотя ее можно использовать, лучше всего использовать лучшие практики и отслеживать использование ЦП, ограничивать максимальный размер POST на страницу и ограничивать запросы с одного хоста.

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