【问题标题】:Is AHAH a security risk?AHAH 是否存在安全风险?
【发布时间】:2010-08-09 21:19:50
【问题描述】:

我正在考虑在一个项目中广泛使用 AHAH,并且担心安全性。攻击者不能将恶意代码注入我的响应中,然后在客户端执行吗?如果我的 AJAX 响应是 JSON,我不必担心这一点,因为如果事情被篡改,JSON 将不再有效。

另一方面。 AHAH 似乎并不比任何正常的非 https 请求风险更大。有什么我遗漏的或其他想法吗?

【问题讨论】:

    标签: php javascript ajax security json


    【解决方案1】:

    攻击者不能将恶意代码注入我的响应中,然后在客户端执行吗?

    难道他们不能对没有 Ajax 的普通页面执行此操作吗? Ajax 是一个普通的 HTTP 请求。这里没有什么新东西,同样的安全规则适用。

    如果他们可以篡改 AHAH 中的 HTML,他们可以篡改这些请求中的 JSON/XML/Text,因此它是有效的。

    【讨论】:

      【解决方案2】:

      在 4 到 5 年的时间里,我到处使用这种技术,但从未真正遇到过问题。您需要了解任何问题,这在任何 JS-heavy 应用程序中都会引起关注。

      如果您的应用从“xxx.com”请求数据,而“xxx.com”不是您本人,或者您的服务器在您不知情的情况下发出恶意 HTML/javascript,那么您比数据传输的选择更担心技术。

      【讨论】:

      • 这基本上是我所期待的答案,但只是想确保我没有遗漏什么。
      • @jeffreymb oah 是的,你只是缺少基于 dom 的 xss。
      【解决方案3】:

      与 PHP 等服务器端代码相比,JavaScript 几乎没有安全问题。在 JavaScript 中您必须注意的一个问题是Dom Based XSS。

      【讨论】:

      • AHAH 不是图书馆。基于 DOM 的 XSS 也可以应用于 php 页面。只需要在您的代码中添加一个注入点。
      • @epascarello 你错了,基于dom的xss 可以完全独立于服务器端代码。你真的应该在发布之前阅读更多内容。 (我也应该这样,虽然我仍然是正确的:)
      • XSS代码如何进入页面?一定有什么地方有缺陷。浏览器级别、服务器级别、用户级别或中间人攻击。服务器语言无关紧要,但代码必须以某种方式进入页面。
      • @epascarello 哦,伙计,请阅读 owasp 链接。 JavaScript 可以像 URL 一样读取输入,然后将其写入页面。
      • @TheRook 我知道那个页面说什么,我在 OWASP DC 会议上就 Ajax 安全性进行了讨论。来自该 URL 的内容首先如何进入页面?页面必须将其写入页面才能发生漏洞。仅将任何 JavaScript 添加到 QueryString 参数不会自行将代码注入页面。 JavaScript、PHP、C#、Java、CGI 等都需要在查询字符串中获取该代码并将其注入页面。这是 XSS 101。XSS 漏洞利用列表:ha.ckers.org/xss.html
      猜你喜欢
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多