Поделиться через


Фильтрация <запросов requestFiltering>

Общие сведения

Фильтрация запросов — это встроенная функция безопасности, которая появилась в службах IIS 7.0 и заменяет большую часть функций, доступных в надстройке UrlScan для IIS 6.0. Все параметры функции фильтрации запросов находятся в элементе <requestFiltering> , который содержит несколько дочерних элементов для каждой из следующих областей функций:

  • <denyUrlSequences> — Этот элемент может содержать коллекцию шаблонов последовательностей URL-адресов, которые IIS 7 будет запрещать; Например, вы можете запретить части последовательностей URL-адресов, которые злоумышленник может попытаться использовать.
  • <fileExtensions> — Этот элемент может содержать коллекцию расширений имен файлов, которые IIS 7 либо запретит, либо разрешит; Например, можно заблокировать все запросы Web.config файлов.
  • <hiddenSegments> — этот элемент может содержать коллекцию URL-адресов, которые невозможно просмотреть; Например, вы можете запретить запросы для папки ASP.NET App_Code.
  • <requestLimits> — Этот элемент содержит параметры для URL-адреса, содержимого и длины строки запроса. Он также может содержать коллекцию определяемых пользователем максимальных длин для заголовков HTTP.
  • <verbs> — Этот элемент может содержать коллекцию HTTP-команд, которые IIS 7 либо запретит, либо разрешит; Например, можно заблокировать все ЗАПРОСы ТРАССИРОВКИ HTTP.

Новые возможности в IIS 7.5

В IIS 7.5 добавлено несколько дополнительных функциональных областей для фильтрации запросов:

  • <alwaysAllowedUrls> — Этот элемент может содержать коллекцию URL-адресов, которые всегда разрешают фильтрацию запросов.
  • <alwaysAllowedQueryStrings> -Этот элемент может содержать строки запроса коллекции, которые всегда разрешена фильтрация запросов.
  • <denyQueryStringSequences> — Этот элемент может содержать коллекцию последовательностей строк запроса, которые фильтрация запросов всегда будет запрещать. Это позволяет администраторам блокировать потенциально опасные последовательности строк запроса, которые они обнаруживают.
  • <filteringRules> — Этот элемент может содержать коллекцию настраиваемых правил фильтрации запросов. Эта коллекция позволяет администраторам создавать настраиваемые правила фильтрации запросов для определенных критериев.

Новые возможности в IIS 10.0

В IIS 10.0 добавлен атрибут для подавления removeServerHeader отправки заголовка HTTP-сервера удаленным клиентам.

Коды подсостояния ошибки HTTP 404

Когда фильтрация запросов блокирует HTTP-запрос, IIS 7 возвращает клиенту ошибку HTTP 404 и регистрирует состояние HTTP с помощью уникального подсостояния, определяющего причину отклонения запроса. Например:

Подсостояние HTTP Описание
404.5 Последовательность URL-адресов запрещена
404.6 Глагол запрещен
404.7 Отказано в расширении файла
404.8 Скрытое пространство имен
404.11 Двойной экранированный URL-адрес
404.12 URL-адрес имеет высокие битовые символы
404.14 Слишком длинный URL-адрес
404.15 Слишком длинная строка запроса
404.18 Последовательность строки запроса запрещена
404.19 Отклонено правилом фильтрации
413.1 Слишком большая длина содержимого
431 Слишком длинный заголовок запроса

Эти подсостояние позволяют веб-администраторам анализировать журналы IIS и выявлять потенциальные угрозы.

Совместимость

Версия Примечания
IIS 10.0 Возможность подавления заголовка сервера была добавлена в IIS 10.0.
IIS 8,5 Элемент <requestFiltering> не был изменен в IIS 8.5.
IIS 8,0 Элемент <requestFiltering> не был изменен в IIS 8.0.
IIS 7,5 В IIS 7.5 фильтрация запросов поставляется с атрибутом unescapeQueryString и элементами alwaysAllowedUrls, alwaysAllowedQueryStrings, denyQueryStringSequencesи filteringRules . Эти элементы были впервые представлены в виде обновления для IIS 7.0, доступного в статье базы знаний Майкрософт 957508 (https://support.microsoft.com/kb/957508).
IIS 7.0 Элемент <requestFiltering> появился в IIS 7.0.
IIS 6,0 Элемент <requestFiltering> заменяет функции IIS 6.0 UrlScan.

Настройка

Установка служб IIS 7 и более поздних версий по умолчанию включает в себя службу или компонент роли фильтрации запросов. Если служба или компонент роли фильтрации запросов удалена, его можно переустановить, выполнив следующие действия.

Windows Server 2012 или Windows Server 2012 R2

  1. На панели задач щелкните Диспетчер сервера.
  2. В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.
  3. В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.
  4. На странице Роли сервера разверните узел Веб-сервер (IIS),веб-сервер, безопасность, а затем выберите Фильтрация запросов. Щелкните Далее.
    Изображение веб-сервера и области .
  5. На странице Выбор компонентов нажмите кнопку Далее.
  6. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
  7. На странице Результаты нажмите кнопку Закрыть.

Windows 8 или Windows 8.1

  1. На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите панель управления.
  2. В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
  3. Разверните узлы Службы IIS, Веб-службы, Безопасность, а затем выберите Фильтрация запросов.
    Изображение области
  4. Нажмите кнопку ОК.
  5. Щелкните Закрыть.

Windows Server 2008 или Windows Server 2008 R2

  1. На панели задач нажмите кнопку Пуск, выберите Администрирование, а затем диспетчер сервера.
  2. В области иерархии диспетчер сервера разверните узел Роли и выберите Веб-сервер (IIS).
  3. На панели Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
  4. На странице Выбор служб ролеймастера добавления служб ролей выберите Фильтрация запросов и нажмите кнопку Далее.
    Изображение страницы
  5. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
  6. На странице Результаты нажмите кнопку Закрыть.

Windows Vista или Windows 7

  1. На панели задач нажмите кнопку Пуск, а затем панель управления.
  2. В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
  3. Разверните узел Службы IIS, затем Службы Интернета, а затем — Безопасность.
  4. Выберите Фильтрация запросов и нажмите кнопку ОК.
    Снимок экрана: развернутый узел

Инструкции

Примечание для пользователей IIS 7.0. Для некоторых действий, описанных в этом разделе, может потребоваться установить пакет администрирования Майкрософт для IIS 7.0, который включает пользовательский интерфейс для фильтрации запросов. Чтобы установить пакет администрирования Майкрософт для IIS 7.0, см. следующий URL-адрес:


Изменение параметров функции фильтрации запросов и ограничений запросов

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем панель управления.
      • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
  2. В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.

  3. На панели Главная дважды щелкните Фильтрация запросов.
    Изображение домашней панели веб-сайта по умолчанию с выделенной фильтрацией запросов.

  4. Щелкните Изменить параметры компонентов... в области Действия .
    Изображение страницы

  5. Укажите параметры и нажмите кнопку ОК.
    Снимок экрана: диалоговое окно Например, можно внести следующие изменения:

    • Измените максимальную длину URL-адреса на 2 КБ, указав значение 2048.
    • Измените максимальную длину строки запроса на 1 КБ, указав 1024.
    • Запретить доступ к командам HTTP, не добавленным в список, снимите флажок Разрешить команды без списка проверка.

Как запретить последовательность URL-адресов

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем панель управления.
      • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
  2. В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.

  3. На панели Главная дважды щелкните Фильтрация запросов.
    Изображение домашней панели веб-сайта по умолчанию с выделенным приложением фильтрации запросов.

  4. В области Фильтрация запросов перейдите на вкладку Запрет последовательностей URL-адресов и нажмите кнопку Добавить последовательность URL-адресов... в области Действия .
    Снимок экрана: страница

  5. В диалоговом окне Добавление последовательности запрета введите последовательность URL-адресов, которую нужно заблокировать, и нажмите кнопку ОК.
    Изображение диалогового окна
    Например, чтобы запретить переход к каталогу на сервере, в диалоговом окне необходимо ввести две точки ("..").


Как запретить доступ к определенному расширению имени файла

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем панель управления.
      • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
  2. В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.

  3. На панели Главная дважды щелкните Фильтрация запросов.
    Снимок экрана: панель

  4. В области Фильтрация запросов перейдите на вкладку Расширения имен файлов , а затем щелкните Запретить расширение имени файла... в области Действия .
    Изображение приложения фильтрации запросов, выделенное на домашней странице веб-сайта по умолчанию.

  5. В диалоговом окне Запретить расширение имени файла введите расширение имени файла, которое нужно заблокировать, и нажмите кнопку ОК.
    Изображение диалогового окна Запретить расширение имени файла с расширением имени файла, введенным в соответствующем поле. Например, чтобы запретить доступ к файлам с расширением .inc, введите "inc" в диалоговом окне.


Добавление скрытого сегмента

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем панель управления.
      • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
  2. В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.

  3. На панели Главная дважды щелкните Фильтрация запросов.
    Снимок экрана: панель

  4. В области Фильтрация запросов перейдите на вкладку Скрытые сегменты и нажмите кнопку Добавить скрытый сегмент... в области Действия .
    Изображение области фильтрации запроса с вкладкой

  5. В диалоговом окне Добавление скрытого сегмента введите относительный путь, который нужно скрыть, и нажмите кнопку ОК.
    Снимок экрана: диалоговое окно


Добавление ограничений для заголовков HTTP

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем панель управления.
      • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
  2. В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.

  3. На панели Главная дважды щелкните Фильтрация запросов.
    Изображение домашней страницы веб-сайта по умолчанию с выделенной областью

  4. В области Фильтрация запросов перейдите на вкладку Заголовки , а затем нажмите кнопку Добавить заголовок... в области Действия .
    Изображение панели

  5. В диалоговом окне Добавление заголовка введите заголовок HTTP и максимальный размер для ограничения заголовка, а затем нажмите кнопку ОК.
    Снимок экрана: диалоговое окно добавления заголовка с полями для заголовка H TP и ограничения размера.

    Например, заголовок Content-type содержит тип MIME для запроса. Если задать значение 100, длина заголовка Content-type будет ограничена 100 байтами.


Как запретить HTTP-команду

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем щелкните Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
      • Дважды щелкните элемент Администрирование, а затем дважды щелкните диспетчер служб IIS.
  2. В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которых вы хотите изменить параметры фильтрации запросов.

  3. В области Главная дважды щелкните Фильтрация запросов.
    Снимок экрана: панель

  4. В области Фильтрация запросов перейдите на вкладку HTTP-команды , а затем нажмите кнопку Запретить глагол... в области Действия .
    Изображение панели

  5. В диалоговом окне Запретить команду введите HTTP-команду, которую необходимо заблокировать, и нажмите кнопку ОК.
    Изображение диалогового окна Запретить глагол с глаголом H T T P, введенным в поле Глагол.

    Например, чтобы предотвратить HTTP-запросы TRACE к серверу, введите в диалоговом окне "TRACE".

Конфигурация

Атрибуты

Атрибут Описание
allowDoubleEscaping Дополнительный логический атрибут.

Если задано значение true, фильтрация запросов разрешает URL-адреса с символами, экранируемыми вдвойне. Если задано значение false, фильтрация запросов отклоняет запрос, если в URL-адресах присутствуют символы, которые были экранированы дважды.

Значение по умолчанию — false.
allowHighBitCharacters Дополнительный логический атрибут.

Если задано значение true, фильтрация запросов разрешает использование символов, отличных от ASCII, в URL-адресах. Если задано значение false, фильтрация запросов будет отклонять запрос, если в URL-адресах присутствуют высокобитовые символы.

Значение по умолчанию — true.
removeServerHeader Дополнительный логический атрибут.

Если задано значение true, фильтрация запросов будет подавлять заголовок сервера IIS. Если задано значение false, iis вернет заголовок сервера по умолчанию. (Примечание. Этот атрибут был добавлен в IIS 10.0 и не работает в версиях Windows до Windows Server версии 1709 или Windows 10 версии 1709.)

Значение по умолчанию — false.
unescapeQueryString Дополнительный логический атрибут.

Если задано значение true, фильтрация запросов будет выполнять два прохода при каждом сканировании строки запроса. Первый проход сканирует необработанную строку запроса, а второй — строку запроса после того, как СЛУЖБЫ IIS декодируют escape-последовательности. Если задано значение false, фильтрация запросов будет просматривать только необработанную строку запроса, отправленную клиентом.

Примечание: Этот атрибут был добавлен в IIS 7.5.

Значение по умолчанию — true.

Дочерние элементы

Элемент Описание
alwaysAllowedQueryStrings Необязательный элемент.

Задает коллекцию строк запроса, которые всегда будет разрешать фильтрация запросов.

Примечание: Этот элемент был добавлен в IIS 7.5.
alwaysAllowedUrls Необязательный элемент.

Указывает коллекцию URL-адресов, которые всегда будет разрешать фильтрация запросов.

Примечание: Этот элемент был добавлен в IIS 7.5.
denyQueryStringSequences Необязательный элемент.

Задает коллекцию последовательностей строк запроса, которые фильтрация запросов всегда будет запрещать.

Примечание: Этот элемент был добавлен в IIS 7.5.
denyUrlSequences Необязательный элемент.

Указывает последовательности, которые следует запретить, чтобы предотвратить атаки на веб-сервер на основе URL-адресов.
fileExtensions Необязательный элемент.

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

Задает коллекцию настраиваемых правил фильтрации запросов.

Примечание: Этот элемент был добавлен в IIS 7.5.
hiddenSegments Необязательный элемент.

Указывает, что некоторые сегменты URL-адресов могут быть недоступны для клиентов.
requestLimits Необязательный элемент.

Задает ограничения на запросы, обрабатываемые веб-сервером.
verbs Необязательный элемент.

Указывает, какие HTTP-команды разрешены или запрещены для ограничения типов запросов, отправляемых на веб-сервер.

Образец конфигурации

Следующий пример конфигурации из файла Web.config выполняет несколько задач, связанных с безопасностью:

  • Запрещает доступ к двум последовательности URL-адресов. Первая последовательность предотвращает трансверсаль каталогов, а вторая — доступ к альтернативным потокам данных.
  • Запрещает доступ к неподписанным расширениям имен файлов и командам HTTP, не добавленным в список.
  • Задает максимальную длину URL-адреса в 2 КБ, а максимальную длину строки запроса — 1 КБ.
<configuration>
   <system.webServer>
      <security>
         <requestFiltering>
            <denyUrlSequences>
               <add sequence=".." />
               <add sequence=":" />
            </denyUrlSequences>
            <fileExtensions allowUnlisted="false" />
            <requestLimits maxUrl="2048" maxQueryString="1024" />
            <verbs allowUnlisted="false" />
         </requestFiltering>
      </security>
   </system.webServer>
</configuration>

Пример кода

В следующих примерах кода показано, как запретить доступ к трем последовательностям URL-адресов для веб-сайта по умолчанию: трансверсии каталогов ("..), альтернативным потокам данных (":") и обратным косой чертам ("").

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='..']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence=':']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='\']"

PowerShell

Start-IISCommitDelay

$denyUrlSequences = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'denyUrlSequences'

New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '..' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = ':' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '\' }

Stop-IISCommitDelay

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");

         ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");

         ConfigurationElementCollection denyUrlSequencesCollection = requestFilteringSection.GetCollection("denyUrlSequences");

         ConfigurationElement addElement = denyUrlSequencesCollection.CreateElement("add");
         addElement["sequence"] = @"..";
         denyUrlSequencesCollection.Add(addElement);

         ConfigurationElement addElement1 = denyUrlSequencesCollection.CreateElement("add");
         addElement1["sequence"] = @":";
         denyUrlSequencesCollection.Add(addElement1);

         ConfigurationElement addElement2 = denyUrlSequencesCollection.CreateElement("add");
         addElement2["sequence"] = @"\";
         denyUrlSequencesCollection.Add(addElement2);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
      Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")
      Dim denyUrlSequencesCollection As ConfigurationElementCollection = requestFilteringSection.GetCollection("denyUrlSequences")

      Dim addElement As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement("sequence") = ".."
      denyUrlSequencesCollection.Add(addElement)

      Dim addElement1 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement1("sequence") = ":"
      denyUrlSequencesCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement2("sequence") = "\"
      denyUrlSequencesCollection.Add(addElement2)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection;

var addElement = denyUrlSequencesCollection.CreateNewElement("add");
addElement.Properties.Item("sequence").Value = "..";
denyUrlSequencesCollection.AddElement(addElement);

var addElement1 = denyUrlSequencesCollection.CreateNewElement("add");
addElement1.Properties.Item("sequence").Value = ":";
denyUrlSequencesCollection.AddElement(addElement1);

var addElement2 = denyUrlSequencesCollection.CreateNewElement("add");
addElement2.Properties.Item("sequence").Value = "\\";
denyUrlSequencesCollection.AddElement(addElement2);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection

Set addElement = denyUrlSequencesCollection.CreateNewElement("add")
addElement.Properties.Item("sequence").Value = ".."
denyUrlSequencesCollection.AddElement(addElement)

Set addElement1 = denyUrlSequencesCollection.CreateNewElement("add")
addElement1.Properties.Item("sequence").Value = ":"
denyUrlSequencesCollection.AddElement(addElement1)

Set addElement2 = denyUrlSequencesCollection.CreateNewElement("add")
addElement2.Properties.Item("sequence").Value = "\"
denyUrlSequencesCollection.AddElement(addElement2)

adminManager.CommitChanges()