这是安全可变性,XSS还是CSRF?

这是安全可变性,XSS还是CSRF?

问题描述:

可以说我的JavaScript做了一个ajax请求,并且在回调函数中它没有检查response_text的任何内容,而是做eval(response_text)。这是安全可变性,XSS还是CSRF?

有些东西告诉我这不好,但为什么以及它如何被eplove?不会总是我的服务器,它会发送它的好数据?

+0

你不应该按照这种做法......发回一些东西,它可以帮助你决定在客户端运行什么代码,而不是代码本身。 – kapa 2010-11-04 10:21:58

如果它来自不可信来源,那么这将容易受到XSS的影响。攻击者可以在你的网站上调用一个函数。

想一想攻击者将脚本标记附加到从其站点加载脚本的文档中的情况。

+0

如果eval(response_txt +“(const_argu)”)的rsponse_text被一个常量字符串作为eval的参数? – rapadura 2010-11-17 11:32:14

+0

考虑到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