В моем приложении ASP. NET MVC я хочу решить проблему уязвимости, связанной с контрабандой HTTP-запросов.
Я подумал, что будет достаточно, если я заблокирую запросы с «Transfer-Encoding». : chunked "заголовок. В меню администрирования IIS для этого я добавил новое правило фильтрации запросов. Однако это, похоже, не исправляет.
Я написал немного. NET код, чтобы проверить, генерирует ли IIS ошибку 404 при отправке фрагментированного контента. Когда я добавляю заголовок кодировки передачи 1 раз к моему тестовому клиентскому коду, как показано ниже, я НЕ получаю 404, я получаю 200.
httpRequest.Headers.Add("Transfer-Encoding", "chunked");
Интересно, я добавляю заголовок 2 раза (я имею в виду его дублирование) as
httpRequest.Headers.Add("Transfer-Encoding", "chunked");
httpRequest.Headers.Add("Transfer-Encoding", "chunked");
Применяется правило фильтрации, и я получаю 404, как и ожидалось.
Как это исправить?