Apache - Как ограничить продолжительность заголовка Типа контента для предотвращения CVE-2014-0050?

Я делаю в значительной степени точно, кто Вы, за исключением того, что я получил 3-летний зарезервированный экземпляр вместо 1 года.

Моя ежемесячная тарификация колеблется приблизительно $10-12 с моим использованием, включая налоги ЕС.

1
задан 7 February 2014 в 14:10
2 ответа

apache (включая модифицированную версию от Шейна; читая rfc , я бы не стал ставить на то, что длина Content-String всегда <129

RewriteEngine On
RewriteCond %{HTTP:Content-Type} "multipart\/form-data;(\s*)boundary=[a-zA-Z0-9_-]{3000}"
RewriteRule ^/(.*)$ /405.html [R=301,L]

# modified 
SetEnvIf Content-Type ^.{3000,}$ bad-content-type=1
RequestHeader unset Content-Type env=bad-content-type

nginx (не нашел способа обойти if ())

server {
  ...
  if ($http_content_type ~* "multipart\/form-data;(\s*)boundary=[a-zA-Z0-9_-]{3000}" ) {
  return 403; 
  }
  ...

}
1
ответ дан 3 December 2019 в 21:21

Да, это должно сработать. В объявлении CVE указано 4091 байт, но в электронном письме о случайном раскрытии кажется, что разработчики склоняются к 70–128 байтам в качестве ограничения. Давайте выберем 128, но это можно изменить по мере необходимости:

SetEnvIf Content-Type ^.{129,}$ bad-content-type=1
RequestHeader unset Content-Type env=bad-content-type

Простое отключение заголовка (вместо 403 полного отключения запроса), вероятно, излишне мягко с очевидными запросами на атаку, но это должно сработать.

1
ответ дан 3 December 2019 в 21:21

Теги

Похожие вопросы