У меня есть устаревшее приложение, в котором запущена сторонняя система электронной коммерции под IIS6. Некоторые спамеры недавно обнаружили серьезную уязвимость безопасности в одной из форм магазина, которая позволяет им отправлять произвольные электронные письма из нашей системы. К сожалению, эта «функция» магазина встроена в код программной части страницы default.aspx, и у меня нет возможности отключить ее, не закрывая магазин.
Как я могу отфильтровать запрос URL с заданным параметром строки запроса? т.е. я хочу отфильтровать запросы на:
http://www.mysite.com/store/?id=SendSpam
на основе строки «SendSpam».
Или есть urlscan от Microsoft, который должен уметь делать то, что описано выше.
Первое решение: используйте фильтр isapi, имитирующий ModRewrite Apache для IIS. Найдите "mod_rewrite iis".
Другой подход - написать httpmodule в .net, который будет реализовывать входной фильтр, и вы загрузите его в свое .net-приложение в web.config.
Обратите внимание, что ни один из них не позволит вам изменить параметр строки запроса, но они позволят вам выполнить перенаправление или ответ 403 Forbidden до того, как ваше приложение будет поражено.