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

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

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

漏洞概述

报告者vyshnav_nk在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提交报告
  • 2017年12月27日:Hiro工作人员关闭报告,状态改为"信息性",认为这是针对GitHub的攻击向量,与Blockstack软件无关
  • 2017年12月28日:vyshnav_nk请求披露报告
  • 6天前:Rafaelcr(Hiro员工)同意披露报告

报告详情

  • 报告ID:#300164
  • 严重性:中等(4~6.9)
  • 状态:已披露
  • 弱点:开放重定向
  • CVE ID:无
  • 赏金:隐藏
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计