【问题标题】:Is it possible for a site to spoof referer header网站是否可以欺骗referer标头
【发布时间】:2016-08-17 12:23:42
【问题描述】:

显然,请求标头可以通过客户端、任何扩展程序/AV/防火墙/浏览器设置等进行欺骗......

我的问题是:
网站所有者bad.com 可以创建一个 iframe mywidget.php,我会看到一个欺骗性的引用标头good.com

欺骗将由网站所有者(例如:服务器)完成,而不是由顶部列出的实际客户端软件完成。

两点:

  1. 我说的是不同的引荐来源 good.com 而不是空的。
  2. 显然排除 ajax 请求。
  3. 如果实际可行 - 内容安全策略,可以作为解决方案。但我不想将每个域都添加到它的标头值中。

谢谢。

【问题讨论】:

  • 最终由 client 决定发送哪个标头,站点所有者在这件事上绝对没有发言权。也就是说,问题是网站所有者是否可以设置一些巧妙的重定向,让客户决定意外的引荐来源。

标签: javascript security


【解决方案1】:

是的,不幸的是,这种可能性确实存在,而且很多“good.com”之类的网站都在努力解决这样的问题。

想象一下,由于某些原因,“good.com”有一个重定向网关,用于统计或其他合理目的。例如,这允许“good.com”衡量其用户访问不同网站的次数。

现在在“bad.com”上,用户会看到iframe,或者只是一个按钮,可以将他们导航到这样的 URL:good.site.example/redirect?to=www.thirdparty.com。 URL 上的该页面以保留引用者的方式将用户重定向到 www.thirdparty.com

所以基本上是的,Referer HTTP 标头在安全性方面不是可依赖的。

【讨论】:

  • 谢谢,为了确定,您的意思是 www.thirdparty.com 是我的域,就像问题 mywidget.php 一样
  • 是的,www.thirdparty.com 是您的域,good.com 是一些大型门户网站,可能包含用户生成的内容,bad.com 希望您看到用户就像他们来自 @987654330 @.
【解决方案2】:

不是欺骗,但如果您的网站上有任何open redirect vulnerabilities,那么他们可以通过这些(如Andrew Sklyarevsky points out)传递请求。

要注意的另一件事是解析错误。

例如如果您使用糟糕的 URL 解析技术检查引用者 http://good.example.com,那么攻击者可能会尝试从他们的页面发出请求,例如

http://bad.example.com?http://good.example.com

到满足您验证的页面。

另请注意,某些用户启用了隐私扩展,这会保留引荐来源标头,这可能会阻碍您的安全检查,并使他们容易受到攻击或无法使用您的网站,具体取决于您的实施方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 2014-12-16
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多