我正在创建一个网页,用户可以在其中交互并在远程计算机上执行基本的文件系统操作(创建文件/目录、删除文件/目录、导航文件系统)。网页是基本的HTML(UTF-8编码)和Javascript。我需要使这个网页XSS证明。
使用Javascript(这将输出百分比编码的十六进制值)转义用户输入中的所有非字母数字字符(以防止基于DOM的XSS)和文件名信息(以防止存储的XSS)就足够了吗?
我基本上只将字母数字输入列入白名单。此外,由于我使用的是百分比编码的十六进制值,因此我假设UTF编码漏洞不应该存在。
有人能想到这种机制中的安全漏洞吗?
发布于 2009-05-16 18:23:41
使用javascript (我想这就是你所说的)来进行转义似乎不太安全。它在用户的机器上运行,他们可以通过一些努力绕过转义机制。
你想做的听起来是对的,但是你需要在服务器端去做。
发布于 2009-05-16 20:11:11
需要注意的几点:
查看我对Will HTML Encoding prevent all kinds of XSS attacks?的回答中的更多信息,你会在那里找到你需要知道的所有信息。
发布于 2009-05-16 20:20:23
补充其他观点的注意事项:
确保正确使用GET和POST,因为这是许多网站上最简单的安全漏洞。
如果用户输入将触发对数据库的任何更改,请确保使用POST。
如果要检索要显示的信息,则仅限user GET。
https://stackoverflow.com/questions/872929
复制相似问题