Вопрос

Я ищу подробности об HTTP-глаголе DEBUG.
Мне ясно, что это используется для удаленной отладки - хотя я даже не уверен, что это для IIS или ASP.NET ...

Если я хочу получить доступ к этому интерфейсу напрямую - т.е. не через Visual Studio, а отправлять эти команды вручную - что мне нужно знать? Каковы команды для этого?
Меня также интересуют случаи неправомерного использования, если у вас есть какая-либо информация об этом ...

Это было полезно?

Решение

Просто для полноты излагаем здесь ответы от что такое нестандартный http-глагол-debug-используемый-для-в-asp-net-iis : (спасибо @Mark, @J < !> # 248; р-н).

http://support.microsoft.com/kb/937523

  

Когда клиент пытается автоматически   подключить отладчик в ASP.NET 2.0   приложение, клиент отправляет HTTP   запрос, который содержит глагол DEBUG.   Этот HTTP-запрос используется для проверки   что процесс подачи заявления   работает и правильно выбрать   процесс для прикрепления.

Глагол DEBUG используется для запуска / остановки сеансов удаленной отладки. В частности, запрос start-debug может содержать заголовок команды со значениями stop-debug и <compilation debug="true">, но фактическая отладка выполняется по протоколу RPC.

Он использует проверку подлинности Windows и DCOM для выполнения отладки (очевидно, если вы разрешаете RPC-трафик, тогда у вас больше проблем) или каких-либо эксплойтов. UrlScan блокирует его по умолчанию.

Тем не менее, поиск веб-сайта ASP.NET с помощью запросов 200 OK можно использовать для определения наличия в файле web.config 403 Forbidden. Тест можно выполнить с помощью telnet, WFetch или аналогичного, отправив запрос следующим образом:

DEBUG /foo.aspx HTTP/1.0
Accept: */ *
Host: www.example.com
Command: stop-debug

В зависимости от того, включена отладка или нет, вы получите либо <compilation debug="true"/>, либо <=>.

Общепринято, что вы никогда не должны иметь <=> в производственной среде, так как это серьезно влияет на производительность веб-сайта. Я не уверен, что при включенной отладке открываются какие-либо новые векторы атаки, если только не включен RPC-трафик, и в этом случае у вас все равно будут более серьезные проблемы.

Другие советы

Если вы хотите выполнять удаленную отладку, я бы предложил использовать debug.writeline и инструмент sysinternals DebugView . Это позволяет вам «прослушивать» операторы отладки либо на вашем компьютере, либо на удаленном компьютере, при условии, что у вас есть необходимый доступ.

Я не могу прямо ответить на часть о DEBUG http, так как незнаком с ней.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top