Mi sono imbattuto in questo link oggi che esegue XSS sul sito per cui era originariamente destinato:
https://<site>/<page>.html/?#prettyPhoto=Not_FeelIng_Safe&%3Cimg%20src=%27x%27%20onerror=alert%287%29%3EB
Ho provato questo sul mio sito, che ha il filtro delle richieste configurato su 404 su img
, alert
e onerror
ma questo URL era consentito.
Ho aggiunto # per negare le regole e l'ho aggiunto anche come sequenza di rifiuto nella scheda QueryStrings, ma era ancora consentito. Presumibilmente perché # è speciale e qualsiasi cosa dopo di essa non conta come URL o Querystring.
È saggio bloccare # se i nostri siti non ne hanno bisogno e se sì, come posso negare # su IIS7?