用户向我发送了一些信息,他们发布到我的网页中有潜在的XSS问题之一,然而,看着服务器端代码,我认为它不会顺利地通过我的代码。HTML编码形式发布
他们说,他们发回:
forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue
我已经看过这一点,并摸索出27%是Apostrophy和%7C是这可能是危险的一个管道字符。
但是,如果数据以该格式进入我的应用程序,它将崩溃,因为它对发布的信息进行了字符串处理。它对冒号(:)字符进行字符串分割。 forminfo是我的HTML输入元素
之一的名称。如果它来作为
forminfo=' || '' || '%booleantest:true,true,true
那么它的更加清晰,我可以看到更好的东西,他们发送的代码将如何处理输入。
因此,他们是否说他们以加密方式发布数据?我的应用程序是否知道如何处理加密的发布数据并以某种方式解密?
他们没有得到一个错误,但如果我自己运行代码它错误。
你能解释可能发生了什么吗?
它解码不会有问题,但url解码发生在哪里? – Jon 2009-11-02 20:01:19
它作为QueryString变量的请求管道的一部分自动发生。 – 2009-11-02 20:12:11