Qualcuno (probabilmente un bot) ha inviato una richiesta con il seguente URL per la mia ASP.NET 4.0 applicazione web form (in esecuzione su IIS 7.0):Perché si sta utilizzando un URL contenente un colon considerato come "richiesta potenzialmente pericolosa"?
http://ipaddress-of-my-applications-domain/bla1.bla2.bla3.bla4.bla5:)
Questo ha causato un System.Web.HttpException
. Ho ricevuto una e-mail di registrazione da ASP.NET healthMonitoring avevo configurato, dicendomi:
Un valore Request.Path potenzialmente pericoloso è stato rilevato dal client (:).
traccia stack è stato:
System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Perché è un colon nell'URL "potenzialmente pericolosi"? Quali cose pericolose possono essere fatte con un tale URL? Ho qualche buco di sicurezza qui di cui non sono a conoscenza?
Grazie per la spiegazione in anticipo!
Modifica
Ho provato che i due punti in una stringa di query (come http://mydomain.com?Test=9:)
) non provoca questa eccezione.
Vedi questa domanda - http://stackoverflow.com/questions/2053132/is-a-colon-safe-for-friendly-url-use - Non penso che sia un duplicato in quanto tale ma discute dei due URL – ChrisF
Questa pagina su [Encoding URL] (http://www.blooberry.com/indexdot/html/topics/urlencoding.htm) elenca i due punti nella sua tabella di caratteri riservati ma non spiega a cosa serve. – ChrisF
Grazie per il link! Ma questa domanda sembra più discutere se un colon è "sicuro" rispetto alla codifica URL. L'eccezione ASP.NET mi sembrava più che potesse esserci una minaccia alla sicurezza. – Slauma