零、Host头攻击简介

如果服务器直接信任Host头,未校验它的合法性,则攻击者可能能够使用此可控变量来注入Host,以操纵服务器端的行为。如:

1
<a href="https://_SERVER['HOST']/support">联系支持</a>

由于Host头实际上是用户可控制的,因此这种做法可能导致许多问题。如果未校验或者直接使用Host头,则Host头可以与一系列其他漏洞“组合拳”攻击,比如:

  • 缓存投毒
  • 特殊业务功能的逻辑漏洞
  • 基于路由的SSRF
  • 经典服务端漏洞,如SQL注入(当Host被用于SQL语句时)等

一、密码重置中毒

来到Burp靶场,我们知道一个用户wiener:peter,登陆靶场后可以看到自己的邮箱

image-20250319172320908

这里我们利用的是忘记密码的功能,我们需要退出登录之后,重置密码

image-20250319172502735

注意到Host地址是:0ae700bf042376a285c94e25009000f7.web-security-academy.net

返回查看我们的邮箱:https://exploit-0ac9003c0440762285f64d3001a600ed.exploit-server.net/email

image-20250319174405505

我们尝试修改Host,放包到重放器,修改Host 头,放包查看邮箱

image-20250319175205058

可以看到,成功修改Host头

image-20250319175235352

我们修改Host头为我们自己的主机

主机地址:https://exploit-0ac9003c0440762285f64d3001a600ed.exploit-server.net/

image-20250319175839822

并修改为受害人姓名

image-20250319180157294

之后查看我们的主机日志,成功拿到重置密码链接的token值

image-20250319180323139

之后修改重置密码链接的token值,之后就可以重置carlos 用户的密码,进而登陆该账户

image-20250319181821957

二、Host头攻击+缓存投毒

有时间再复现