用户向我发送了一些信息,这些信息是他们发布到我的某个网页上但是有可能存在XSS问题,但是查看服务器端代码我不认为它会顺利运行我的代码。
他们说他们发了这个:
forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue
我已经看过这个并且已经知道%27是一个Apostrophy而%7C是一个管道角色可能有风险。
但是,如果数据以该格式进入我的应用程序,它将会崩溃,因为它会对发布的信息进行字符串操作。它在冒号(:)字符上进行字符串拆分。 forminfo是我的一个HTML输入元素的名称
如果它以
的形式出现forminfo=' || '' || '%booleantest:true,true,true
然后它更清晰,我可以更好地看到他们发送的内容以及代码如何处理输入。
他们是说他们以加密的方式发布数据?我的应用程序是否知道如何处理加密的发布数据并以某种方式解密?
他们没有收到错误,但如果我自己运行代码就会出错。
你能解释一下可能发生的事情吗?
答案 0 :(得分:1)
hex和base64编码的JavaScript。
为了更好地保护您的网站,您可能需要查看XSS (Cross Site Scripting) Cheat Sheet或Cross-site Scripting (XSS)
答案 1 :(得分:1)
以下是URLEncoded数据:
forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue
如果您的申请存在以下问题:
forminfo=' || '' || '%booleantest:true,true,true
然后你确实遇到了问题,因为这是你有用的用户试图告诉你的。