主机头注入漏洞与重定向漏洞分析

本文详细分析了Blockstack核心代码库中存在的主机头注入与重定向漏洞,包括漏洞影响、攻击向量、复现步骤及修复建议,涉及密码重置劫持、缓存投毒等安全风险。

重定向漏洞/主机头注入漏洞报告

漏洞概述

在https://github.com/blockstack/blockstack-core/ 中发现主机头注入/重定向漏洞

影响范围

攻击向量相对有限,但具体影响取决于后端应用程序代码如何使用主机头。如果代码引用URL中使用的主机名(例如密码重置页面),攻击者可以欺骗请求的主机头,诱使应用程序将密码重置电子邮件转发到攻击者的域等。其他攻击向量也可能通过操纵超链接或依赖请求主机/域的其他杂项代码实现。

漏洞验证

1
2
3
HTTP/1.1 301 Moved Permanently
Content-Length: 0
Location: https://github.com.evil.net/blockstack/blockstack-core/index.html

在此可以看到原始网站被重定向到伪造的evil.net网站,因此存在重定向/主机头注入漏洞。

复现步骤

在Linux中使用CURL命令检测漏洞:

1
curl -H Host:evil.net https://github.com/blockstack/blockstack-core/ -i

该命令将给出重定向漏洞的确切结果。

相关参考

通过在Google搜索此漏洞,可以找到许多描述此漏洞和相关攻击向量的博客、文章和白皮书。所有主要商业Web应用程序扫描器(如Accunetix)都会报告此相同漏洞。

更多详细信息请阅读:https://www.acunetix.com/blog/articles/automated-detection-of-host-header-attacks/

修复建议

通常,大多数应用程序会拒绝任何不来自同一源的请求。要修复此问题,应用程序应拒绝任何与目标域不匹配的请求。这也可能是后端Web服务器重写功能中的错误。

潜在风险

此漏洞可能导致缓存投毒和劫持密码重置令牌。

时间线

  • 2017年12月23日:vyshnav_nk 向Hiro提交报告
  • 2017年12月27日:a-hiro 关闭报告并将状态改为"信息性"
  • 2017年12月28日:vyshnav_nk 请求披露此报告
  • 7天前:rafaelcr Hiro员工同意披露此报告

报告详情

  • 报告ID:#300164
  • 严重性:中等(4 ~ 6.9)
  • 弱点:开放重定向
  • CVE ID:无
  • 赏金:隐藏

厂商回应

基于初始描述,这似乎是一个非常有限的攻击向量,而且是我们不运营或管理的服务上的攻击向量。这将是GitHub上的漏洞,由另一家公司运营。如果您认为这是一个重要的漏洞,我们建议您向GitHub提交报告。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计