【漏洞复现】Host头攻击
零、Host头攻击简介
如果服务器直接信任Host头,未校验它的合法性,则攻击者可能能够使用此可控变量来注入Host,以操纵服务器端的行为。如:
1 | <a href="https://_SERVER['HOST']/support">联系支持</a> |
由于Host头实际上是用户可控制的,因此这种做法可能导致许多问题。如果未校验或者直接使用Host头,则Host头可以与一系列其他漏洞“组合拳”攻击,比如:
- 缓存投毒
- 特殊业务功能的逻辑漏洞
- 基于路由的SSRF
- 经典服务端漏洞,如SQL注入(当Host被用于SQL语句时)等
一、密码重置中毒
来到Burp靶场,我们知道一个用户wiener:peter
,登陆靶场后可以看到自己的邮箱
这里我们利用的是忘记密码的功能,我们需要退出登录之后,重置密码
注意到Host地址是:0ae700bf042376a285c94e25009000f7.web-security-academy.net
返回查看我们的邮箱:https://exploit-0ac9003c0440762285f64d3001a600ed.exploit-server.net/email
我们尝试修改Host,放包到重放器,修改Host 头,放包查看邮箱
可以看到,成功修改Host头
我们修改Host头为我们自己的主机
主机地址:https://exploit-0ac9003c0440762285f64d3001a600ed.exploit-server.net/
并修改为受害人姓名
之后查看我们的主机日志,成功拿到重置密码链接的token值
之后修改重置密码链接的token值,之后就可以重置carlos 用户的密码,进而登陆该账户
二、Host头攻击+缓存投毒
有时间再复现
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Lusen的小窝!
评论