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;
}
...
}
Да, это должно сработать. В объявлении CVE указано 4091 байт, но в электронном письме о случайном раскрытии кажется, что разработчики склоняются к 70–128 байтам в качестве ограничения. Давайте выберем 128, но это можно изменить по мере необходимости:
SetEnvIf Content-Type ^.{129,}$ bad-content-type=1
RequestHeader unset Content-Type env=bad-content-type
Простое отключение заголовка (вместо 403 полного отключения запроса), вероятно, излишне мягко с очевидными запросами на атаку, но это должно сработать.