Jemand (wahrscheinlich ein Bot) schickte eine Anfrage mit der folgenden URL zu meiner ASP.NET 4.0 Web-Formularanwendung (auf IIS 7.0):Warum wird eine URL, die einen Doppelpunkt enthält, als "potentiell gefährliche Anfrage" betrachtet?
http://ipaddress-of-my-applications-domain/bla1.bla2.bla3.bla4.bla5:)
Dies entspricht ein System.Web.HttpException
verursacht. Ich habe eine Protokollierungs-E-Mail von ASP.NET HealthMonitoring erhalten, die ich konfiguriert hatte, und teilte mir mit:
Ein potenziell gefährlicher Request.Path-Wert wurde vom Client erkannt (:).
Stapel Spur war:
System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Warum ist ein Doppelpunkt in der URL "potenziell gefährlich"? Welche gefährlichen Dinge können mit solch einer URL gemacht werden? Habe ich hier ein Sicherheitsloch, das mir nicht bekannt ist?
Vielen Dank für die Erklärung im Voraus!
bearbeiten
Ich habe getestet, dass ein Doppelpunkt in einer Abfragezeichenfolge (wie http://mydomain.com?Test=9:)
) nicht diese Ausnahme verursacht.
Siehe diese Frage - http://stackoverflow.com/questions/2053132/is-a-colon-safe-for-friendly-url-use - Ich glaube nicht, dass es ein Duplikat als solches ist, sondern diskutiert Doppelpunkte in URLs – ChrisF
Diese Seite auf [URL Encoding] (http://www.blooberry.com/indexdot/html/topics/urlencoding.htm) listet den Doppelpunkt in der Tabelle der reservierten Zeichen auf, erklärt aber nicht, wofür sie verwendet wird. – ChrisF
Danke für den Link! Aber diese Frage scheint mehr zu diskutieren, wenn ein Doppelpunkt in Bezug auf die URL-Codierung "sicher" ist. Die ASP.NET-Ausnahme, die ich hatte, klingt eher nach einer Sicherheitsbedrohung. – Slauma