2009-11-18 14 views
8

ich folgende Fehlermeldung erhalte, aber kann nicht scheinen, Sinn aus ihm im Rahmen zu machen, dass es passiert:Pfad 'PROPFIND' ist verboten?

Nachricht Pfad ‚PROPFIND‘ ist verboten. Stacktrace bei System.Web.HttpMethodNotAllowedHandler.ProcessRequest (Httpcontext context) bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() bei System.Web.HttpApplication.ExecuteStep (IExecutionStep Schritt, Boolean & completedSynchronously)

Google hat Ergebnisse angezeigt, die anscheinend nichts mit meiner App zu tun haben (das ist asp.net MVC auf IIS6). Die Seite funktioniert gut, aber ich möchte versuchen, diesen Fehler zu erfassen und zu behandeln. Vielen Dank.

Antwort

5

Ok ich denke, dass wir die Antwort gefunden, und offenbar ist es irgendwie klar, aber ich bin kein Systeme Kerl, so dass meine Entschuldigung. ;) Bei der Verwendung von MVC mit IIS 6 haben wir Wildcard Mapping implementiert, um die schönen URLs ohne Erweiterungen für die Site zu erhalten. Aber die Art, wie ich es verstehe, mit dem Wilcard-Mapping aktiviert es nur verarbeitet alle Anfragen, als ob sie für ASP.net einschließlich dieser WebDAV-Verben von den Menschen blind für Schwachstellen, die 48klocs erwähnten, ausgegeben wurden.

3

Ist es ein öffentlicher Webserver? Ein schnelles Googeln scheint darauf hinzuweisen, dass es a DOS attack involving PROPFIND and WebDAV gab. Wenn es öffentlich ist, nimmst du Protokolle von spray-and-pray Drive-by-Angreifern auf. Wenn es intern ist, haben Sie einen größeren Kopf-Scratcher.

+0

Es ist ein externer Webserver. Ich habe diese gesehen, aber niemand hat echte Lösungen angeboten, vielleicht ist das ein Problem für die System-/Netzwerk-Leute? –

1

Es könnte eine von zwei Fragen sein:

  1. PROPFIND als Zulässiges Verb auf der Website für die ASP.NET-Skriptzuordnung nicht definiert.
  2. Der Server führt UrlScan aus und lässt PROPFIND nicht zu. Überprüfen Sie die [AllowVerbs] und [DenyVerbs] Abschnitte c:\Windows\System32\InetSrv\urlscan\UrlScan.ini
1

Wir haben diese häufig gesehen und festgestellt, dass viele von ihnen aus Microsoft Office-Produkten stammen. Insbesondere Microsoft Office.

Siehe "How documents are opened from a Web site in Office 2003" für etwas Erklärung.

ich in der Lage gewesen, durch das Hinzufügen einer Zuordnung für den Defaulthttp in web.config für diese beiden Verben einig kurze Erleichterung erhalten:

<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> 

Dies bewirkt, dass die „Optionen“ Anforderung erfolgreich zu sein, und bewirkt, dass ein " 501 Nicht implementiert "Status, der für" PROPFIND "zurückgegeben werden soll.

Nach 19 fehlgeschlagen entscheidet MS Word 2007 schließlich, dass es eine "GET" -Anforderung verwenden kann, um die Datei abzurufen, und das funktioniert (die Datei wurde tatsächlich rechtmäßig bedient).


Ein wenig Forschung zeigt, dass StaticFileHandler noch besser dafür arbeitet. Sie gibt 200 OK für beide OPTIONS- und PROPFIND-Verben sowie für scheinbar gültige Daten zurück, sofern die Anforderung auf eine tatsächliche Ressource abzielt. Wenn Word den Ordner selbst überprüft, wird 404 not Found zurückgegeben.

Verwandte Themen