2009-11-18 8 views
8

Estoy recibiendo el siguiente error, pero parece que no puede tener sentido fuera de él en el contexto de que está sucediendo:La ruta 'PROPFIND' está prohibida?

mensaje Path 'PROPFIND' está prohibido. StackTrace en System.Web.HttpMethodNotAllowedHandler.ProcessRequest (HttpContext contexto) en System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() en System.Web.HttpApplication.ExecuteStep (paso IExecutionStep, Boolean & completedSynchronously)

Google ha encontrado resultados que no parecen tener nada que ver con mi aplicación (esto es asp.net MVC en IIS6). El sitio está funcionando bien, pero me gustaría intentar capturar y manejar este error. Gracias.

Respuesta

5

Ok creo que hemos encontrado la respuesta, y, evidentemente, es una especie de obvio, pero yo no soy un tipo de sistemas de modo que es mi excusa. ;) Al usar MVC con IIS 6 implementamos Wildcard Mapping para obtener las bonitas URL sin extensión para el sitio. Pero la forma en que lo entiendo, con el mapeo wilcard habilitado, simplemente procesa todas las solicitudes como si fueran para ASP.net, incluidos estos verbos WebDAV emitidos por personas que indagan a ciegas en busca de vulnerabilidades que menciona 48klocs.

3

¿Es un servidor web público? Una búsqueda rápida en Google parece indicar que hubo a DOS attack involving PROPFIND and WebDAV. Si es público, estás recogiendo registros de atacantes que te rocían y oran. Si es interno, tienes un rascador de cabeza más grande.

+0

Es un servidor web externo. Los vi pero nadie me ofreció ninguna solución real, tal vez este es un problema para los chicos de sistemas/redes. –

1

Podría ser una de las dos cuestiones:

  1. PROPFIND no está definido como un verbo permisible en el sitio web de la secuencia de comandos que ASP.NET.
  2. El servidor ejecuta UrlScan y no permite PROPFIND. Compruebe los [AllowVerbs] y [DenyVerbs] secciones de c:\Windows\System32\InetSrv\urlscan\UrlScan.ini
1

Hemos estado viendo mucho estos y hemos determinado que muchos de ellos provienen de productos de Microsoft Office. En particular, Microsoft Office.

Consulte "How documents are opened from a Web site in Office 2003" para obtener una explicación.

he podido recibir algún alivio breve mediante la adición de una asignación para la DefaultHttpHandler en web.config para esos dos verbos:

<configuration> 
    <system.web> 
    <httpHandlers> 
     <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> 
     <add path="*" verb="OPTIONS, PROPFIND" type="System.Web.DefaultHttpHandler" /> 
    </httpHandlers> 
    </system.web> 
</configuration> 

Esto hace que la petición "OPCIONES" para tener éxito, y provoca una " 501 No implementado "estado que se devolverá para" PROPFIND ".

Después de 19 errores, MS Word 2007 finalmente decide que puede usar una solicitud "GET" para recuperar el archivo, y eso funciona (el archivo se estaba atendiendo legítimamente).


Un poco de investigación muestra que StaticFileHandler funciona aún mejor para esto. Devuelve 200 OK para los verbos OPTIONS y PROPFIND, junto con lo que parecen ser datos válidos, siempre que la solicitud se oriente a un recurso real. Cuando Word prueba la carpeta en sí, esto devuelve un 404 No encontrado.

Cuestiones relacionadas