¿Cómo detectan los escáneres de vulnerabilidad cuando DEBUG está configurado como Verdadero en las aplicaciones ASP.NET?

10

Sé cómo verificar esta configuración en el código, y sé dónde buscar en web.config , pero parece que no puedo encontrar información sobre cómo un escáner de vulnerabilidades como Qualys lo detectaría.

He considerado lo siguiente, pero no tengo forma de saber si mis suposiciones son buenas:

  • ¿Hay un encabezado http que se envía desde el servidor web cuando Debug=true ?
  • ¿El escáner / software está causando intencionalmente un error y detectando la información de depuración reflejada en el cliente?
  • ¿El software está buscando solicitudes de larga duración (ya que el modo de depuración alarga efectivamente los tiempos de respuesta antes de que se agote el tiempo de espera)?
pregunta David Stratton 01.10.2013 - 16:23
fuente

2 respuestas

6

La configuración del atributo de depuración no generará una página de error diferente. Las páginas de error personalizadas se manejan en web.config en el nodo de configuración / system.web / customErrors. Alguna información.

Una posibilidad es que el escáner esté detectando esto mirando el encabezado http Cache-Control . Este encabezado devolverá private cuando esté en modo de depuración y public cuando no esté. Hay un buen artículo que se incluye en algunos de estos que puede encontrar aquí .

Una posibilidad más probable es que estén haciendo una solicitud DEBUG al sitio y verificando si está regresando 200 o 403. Hay una buena publicación de SO en este aquí .

Si bien el hecho de establecer el atributo de depuración en verdadero puede causar problemas de rendimiento, no es lo único que puede causar problemas de rendimiento, por lo que parece que el uso de este método generaría muchos falsos positivos.

    
respondido por el Abe Miessler 01.10.2013 - 21:44
fuente
1

Realmente puedes revisar este @AbeMiessler

Solicitud HTTP normal:

 GET / HTTP/1.1
 Host: www.test.com
 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0
 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
 Accept-Encoding: gzip, deflate
 Cookie: Token=dfe31f692334663ae9d466662be6d3
 Connection: keep-alive
  • Establecemos la ruta a "/Test.aspx" o algún otro nombre de archivo que no existe
  • Agregue el encabezado HTTP "Comando: detener depuración"
  • Método establecido en "DEBUG"
  • Elimine, si está presente, el parámetro 'ReturnUrl'

Solicitud modificada:

 DEBUG /Test.aspx HTTP/1.1 HTTP/1.1
 Cookie: Token=dfe31f692334663ae9d466662be6d3
 Content-Length: 0
 Accept: */*
 User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64;)
 Host: www.test.com
 Command: stop-debug

Respuesta si la depuración está habilitada:

HTTP/1.1 200 OK
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Mon, 14 Apr 2014 12:19:45 GMT
Content-Length: 2

OK

Puedesleermássobreestoaquí: enlace

    
respondido por el Ogglas 10.12.2015 - 12:02
fuente

Lea otras preguntas en las etiquetas