我尝试谷歌搜索,但没有得到非常具体的答案..话又说回来,我可能没有使用正确的关键字..有人能指出 javascript eval 可能导致的“安全”问题吗?举个例子,非常好。如果您可以指向具有相同功能的现有网络资源,也可以。
Edit:我只需要评估的安全影响。
eval() 可能是设计不佳的标志。例如,有时人们使用它来访问对象属性,因为他们不知道可以使用 [] 表示法,即 eval('obj.' + prop_name)。如果您 eval() 用户内容,它也是 XSS 漏洞的来源,因为它可能被解释为 JS。它也往往比其他替代方案慢。
这是使用 eval() 解析 JSON 时最基本的 XSS 示例:
eval({"a": "b", 'c': "d" + alert("xss") + ""})
要获得这样的漏洞,您必须懒于构建 JSON 而不是转义引号,但还有更复杂的示例,并使用像 Douglas Crockford 的专门库(json.org)人们会避免它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)