Указание строки с точкой с запятой в UrlScan.ini

Я хочу заблокировать пользовательские агенты с помощью UrlScan в IIS 6. Однако я не могу указать пользовательский агент с точкой с запятой в строке. Я думаю, что это очень распространенный сценарий, но я не могу найти ответа, как избежать точки с запятой в UrlScan.ini (где точка с запятой используется для комментариев). Это правило:

RuleList=DenyUserAgent
[DenyUserAgent]
DenyDataSection=AgentStrings
ScanHeaders=User-Agent
[AgentStrings]
Mozilla/5.0 (Windows NT 5.1; rv:6.0) Gecko/20100101 Firefox/10.0.2

Я протестировал его, и он блокирует все пользовательские агенты, начинающиеся с "Mozilla / 5.0 (Windows NT 5.1", потому что он рассматривает остальную часть строки как комментарий.


person Durden81    schedule 07.08.2012    source источник
comment
Я просмотрел эту статью: en.wikipedia.org/wiki/INI_file#Escape_characters и Я попытался заменить точку с запятой на: \ ;, \ x003B, ;; а также я попытался окружить всю строку символом '. Ничего не работает. Я не знаю другого способа избежать точки с запятой. пожалуйста помоги!   -  person Durden81    schedule 07.08.2012


Ответы (1)


Похоже, вам нужно будет экранировать URL-адрес, т.е.% 3B

См. http://learn.iis.net/page.aspx/476/common-urlscan-scenarios/ для примеров; один из таких примеров - блокировка точки с запятой в строке запроса для блокировки атаки с использованием SQL-инъекции.

person Marc O. Alfonso    schedule 23.08.2012
comment
Спасибо! работает отлично. если бы я мог дать вам больше голосов, я бы это сделал. - person Durden81; 24.08.2012