Débogage à distance ASP.NET / IIS - verbe DEBUG
-
03-07-2019 - |
Question
Je cherche des détails sur le verbe HTTP DEBUG.
Il est clair pour moi que cela est utilisé pour le débogage distant - bien que je ne sois même pas sûr que ce soit pour IIS ou ASP.NET ...
Si je veux accéder directement à cette interface - c’est-à-dire non par Visual Studio, mais en envoyant ces commandes manuellement - que dois-je savoir? Quelles sont les commandes pour cela?
Je suis également intéressé par les cas d'abus, si vous avez des informations à ce sujet ...
La solution
Juste pour être complet, regroupant ici les réponses de qu'est-ce-que-est-le-standard-http-verbe-debug-utilisé-pour-dans-asp-net-iis : (merci @Marque, @J < !> # 248; rn).
http://support.microsoft.com/kb/937523
Lorsque le client essaie automatiquement attachez le débogueur dans un ASP.NET 2.0 application, le client envoie un HTTP demande qui contient le verbe DEBUG. Cette requête HTTP est utilisée pour vérifier que le processus de l'application est en cours d'exécution et de sélectionner le bon processus à joindre.
Le verbe DEBUG
est utilisé pour démarrer / arrêter les sessions de débogage à distance. Plus spécifiquement, une requête start-debug
peut contenir un en-tête de commande avec les valeurs stop-debug
et <compilation debug="true">
, mais le débogage proprement dit est effectué via un protocole RPC.
Il utilise l’authentification Windows et DCOM pour effectuer le débogage (évidemment, si vous autorisez le trafic RPC, vous avez de plus gros problèmes) ou d’autres exploits. UrlScan le bloque par défaut, cependant.
Toutefois, la consultation d'un site Web ASP.NET avec les requêtes 200 OK
peut être utilisée pour indiquer si le fichier Web.config a 403 Forbidden
. Le test peut être effectué avec telnet, WFetch ou similaire, en envoyant une requête comme celle-ci:
DEBUG /foo.aspx HTTP/1.0
Accept: */ *
Host: www.example.com
Command: stop-debug
Selon que le débogage est activé ou non, vous obtiendrez <compilation debug="true"/>
ou <=>.
Il est généralement admis que vous ne devriez jamais avoir <=> dans un environnement de production, car cela aurait de graves conséquences sur les performances du site Web. Je ne sais pas si l'activation du débogage active de nouveaux vecteurs d'attaque, à moins que le trafic RPC ne soit également activé, auquel cas vous avez de toute façon des problèmes plus graves.
Autres conseils
Si vous souhaitez effectuer un débogage à distance, je vous conseillerais d'utiliser debug.writeline et l'outil de sysinternals DebugView . Cela vous permet d’écouter les instructions de débogage sur votre ordinateur de localisation ou sur un ordinateur distant, à condition que vous disposiez de l’accès nécessaire.
Je ne peux pas répondre directement à la partie relative à DEBUG http car je ne la connais pas bien.