【渗透测试】http头攻击

1.什么是HTTP Host标头?

从HTTP / 1.1开始,HTTP Host标头是必需的请求标头。它指定了客户端要访问的域名。例如,当用户访问https://portswigger.net/web-security时,他们的浏览器将编写一个包含Host标头的请求,如下所示:
GET / web-security HTTP / 1.1
主机:portswigger.net
在这里插入图片描述
HTTP Host标头的用途

  1. •HTTP Host标头用于帮助识别客户端所需的后端组件 与之沟通。
  2. •如果请求不包含主机标头,或以某种方式格式不正确,则此将传入的请求路由到预期的应用程序时可能会导致问题。
  3. •基于云的解决方案和许多相关架构的外包,它是多个网站和应用程序可以通过同一IP进行访问地址

虚拟主机:一种可能的情况是单个Web服务器托管多个Web服务器。网站或应用程序。这可能是一个拥有一个所有者的多个网站,但这是也可以将拥有不同所有者的网站托管在一个共享的网站上平台
通过中介路由流量:将网站托管在不同的后端时服务器,但客户端和服务器之间的所有流量都通过中介系统。这可能是一个简单的负载平衡器或反向代理服务器某种形式(CDN)

(1)•浏览器发送请求时,目标URL将解析为IP地址特定服务器。当该服务器收到请求时,它指的是主机标头,以确定所需的后端,并根据请求转发请求

2.识别HTTP主机标头漏洞
•提供一个任意的主机头:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210507095158632.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MTM4Nzc1NA==,size_16,color_FFFFFF,t_70•检查有缺陷的验证:
在这里插入图片描述•检查有缺陷的验证:
在这里插入图片描述

•注入主机替代头:
在这里插入图片描述
3.如何利用HTTP Host标头

利用经典的服务器端漏洞
o访问受限功能
o使用虚拟主机强行访问内部网站
o基于路由的SSRF
•利用经典的服务器端漏洞
o使用虚拟主机强行访问内部网站
o基于路由的SSRF
•示例1:密码重置中毒攻击以获取重置密码链接:
在这里插入图片描述
•示例2:通过Host标头进行Web缓存中毒:(重复的Host标头)
在这里插入图片描述

4.在portswigger上的演示实验室HTTP主机头

•密码重置中毒:
•https://portswigger.net/web-security/host-header/exploiting/password-resetpoisoning

•Web缓存中毒:
•https://portswigger.net/web-security/host-header/exploiting/lab-host-header-webcache-poisoning-via-ambiguous-requests

•主机头身份验证绕过:
•https://portswigger.net/web-security/host-header/exploiting/lab-host-

•实验:基于路由的SSRF:
https://portswigger.net/web-security/host-header/exploiting/lab-host-headerrouting-based-ssrf

关于黑客一号的一些报道:

•通过Host标头导致Web缓存中毒
•https://hackerone.com/reports/977851
•https://hackerone.com/reports/504514
•密码重置中毒:
Sun *网络安全团队6
•https://hackerone.com/reports/226659
•https://hackerone.com/reports/791293
•注入主机替代头
•https://hackerone.com/reports/698416
•https://hackerone.com/reports/758380

5.防止HTTP主机标头攻击

•保护绝对URL
•验证主机标头(ALLOWED_HOSTS)
•不支持主机替代标题
•将允许的域列入白名单
•注意仅限内部使用的虚拟主机

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuiltyFet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值