这是安全可变性,XSS还是CSRF?
可以说我的JavaScript做了一个ajax请求,并且在回调函数中它没有检查response_text的任何内容,而是做eval(response_text)。这是安全可变性,XSS还是CSRF?
有些东西告诉我这不好,但为什么以及它如何被eplove?不会总是我的服务器,它会发送它的好数据?
如果它来自不可信来源,那么这将容易受到XSS的影响。攻击者可以在你的网站上调用一个函数。
想一想攻击者将脚本标记附加到从其站点加载脚本的文档中的情况。
如果eval(response_txt +“(const_argu)”)的rsponse_text被一个常量字符串作为eval的参数? – rapadura 2010-11-17 11:32:14
考虑到response_txt是任意文本,这仍然可以被利用。如果您完全信任response_txt的来源,那么您可能会承担风险。 例如如果response_txt =“something_malicious(); what_you_want”你最终得到的是eval(“something_malicious(); what_you_want(const_argu)”)。 但您可以轻松验证响应文本,如果它应严格为可能是下划线的字母数字字符串。 – partoa 2010-11-17 15:03:20
你不应该按照这种做法......发回一些东西,它可以帮助你决定在客户端运行什么代码,而不是代码本身。 – kapa 2010-11-04 10:21:58