【问题标题】:Is this a security vulerability, XSS or CSRF?这是安全漏洞、XSS 还是 CSRF?
【发布时间】:2010-11-04 09:32:55
【问题描述】:

假设我的 javascript 发出 ajax 请求,并在回调函数中执行 eval(response_text) 而不检查 response_text 的任何内容。

有些事情告诉我这不好,但为什么以及如何会被剥削?不会总是我的服务器会向它发送好的数据吗?

【问题讨论】:

  • 你不应该遵循这种做法...发回一些可以帮助你决定在客户端运行什么代码的东西,而不是代码本身。

标签: ajax security web-applications xss csrf


【解决方案1】:

如果它来自不受信任的来源,它将很容易受到 XSS 的攻击。攻击者可以调用您网站上的函数。

假设攻击者将脚本标记附加到从他的站点加载脚本的文档中。

【讨论】:

  • 如果 eval(response_txt+"(const_argu)") rsponse_text 使用常量字符串作为 eval 的参数会怎样?
  • 这仍然可以被利用,因为 response_txt 是任意文本。如果您完全信任 response_txt 的来源,那么您可能可以承受风险。例如如果 response_txt = "something_malicious();what_you_want" 你最终得到的是 eval("something_malicious();what_you_want(const_argu)")。但如果响应文本严格来说应该是带有下划线的字母数字字符串,您可以轻松验证它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2017-04-12
  • 2012-03-10
  • 1970-01-01
相关资源
最近更新 更多