Просто для полноты, здесь собраны ответы из что-то-не-нестандартное-http-глагол-отладка-используется-в-asp-net-iis : (спасибо @Mark , @ Jørn).
http://support.microsoft.com/kb/937523
Когда клиент пытается автоматически
подключить отладчик в ASP.NET 2.0
приложение, клиент отправляет HTTP
запрос, который содержит глагол DEBUG.
Этот HTTP-запрос используется для проверки
что процесс подачи заявления
работает и правильно выбрать
процесс прикрепления.
Глагол DEBUG
используется для запуска / остановки сеансов удаленной отладки. В частности, запрос DEBUG
может содержать заголовок команды со значениями start-debug
и stop-debug
, но фактическая отладка выполняется по протоколу RPC.
Он использует проверку подлинности Windows и DCOM для выполнения отладки (очевидно, если вы разрешаете RPC-трафик, тогда у вас больше проблем) или любых других эксплойтов. UrlScan блокирует его по умолчанию.
Тем не менее, поиск веб-сайта ASP.NET с запросами DEBUG
может использоваться для определения, имеет ли web.config <compilation debug="true">
. Тест можно выполнить с помощью telnet, WFetch или аналогичного, отправив запрос следующим образом:
DEBUG /foo.aspx HTTP/1.0
Accept: */ *
Host: www.example.com
Command: stop-debug
В зависимости от того, включена отладка или нет, вы получите либо 200 OK
, либо 403 Forbidden
.
Общепринято, что у вас никогда не должно быть <compilation debug="true"/>
в производственной среде, так как это имеет серьезные последствия для производительности веб-сайта. Я не уверен, что при включенной отладке открываются какие-либо новые векторы атаки, если только не включен RPC-трафик, в этом случае у вас все равно будут более серьезные проблемы.