关于Host头的一些漏洞

我们在日常的漏洞挖掘中 经常能看到Host这个字段 该篇文章就是由Host展开的

关于Host 从HTTP/1.1开始就作为强制性的请求头,用来指定客户端要访问的域名或ip 如下图:

 企业这样做的目的 是因为为了节省资源 会将多个应用程序部署在同一个ip上,Host头就是用来区分用户欲请求的是哪个应用程序。同时 关于Host也就出现了安全方面的问题

一般Host漏洞是因为反代服务器(nginx)配置出错引起的

1:Host碰撞漏洞

该漏洞 通过对Host的字段的爆破(ip加端口) 从而实现边界突破 访问一些隐藏的资产页面

参考链接:如何利用hosts碰撞技术遨游内网web系统_火线安全的博客-CSDN博客_host碰撞

                  深夜火器内测群群聊小记之HOST碰撞 - 知乎

2: 密码重置投毒攻击

 点击忘记密码 该功能点通过邮箱或者用户名发送重置密码链接点击忘记密码 该功能点通过邮箱或者用户名发送重置密码链接

 可以看到收件箱收到了刚刚的邮件 是一封重置密码的链接

 

点开链接就会跳转到修改密码的界面

重置密码的时候应该需要csrf和temp-forgot-password-token这两个参数进行验证的 csrf在前面的修改密码请求可以获取 现在就是需要获取到其他用户的token值即可实现任意用户密码修改 

 

 根据上面的流程发现token第一次是出现在了一个get请求当中。猜想 当用户提交修改密码请求 后端会生成一个token值 然后传给邮件服务器在发送给客户 如果这时候 我们修改请求的邮件服务器地址 因为token是使用get请求传递的 那么当后端去请求我们伪造的服务器的时候 就会留下token的日志 这样即可实现获取任意用户的token

靶场中给我们提供了伪造的服务器 首先获取host头

修改靶标用户的密码 将host头修改为我们伪造的

 

查看伪造服务器的日志 成功获取到其他用户的token

 此时将修改密码的链接上的token修改为我们获取到其他用户的token 访问修改密码的链接 此时修改密码的用户就变为了我们替换到token的用户了

3:主机头认证绕过

本关的要求是需要删除一个用户,对目录枚举发现发现一个admin路径 访问发现提示需要本地用户

这关是主机头认证的绕过 那是不是跟host字段的内容有关系 带着这一猜想 进行抓包 修改host头内容为localhost

 

 

将修改后的数据包放出去 即可来到管理员的界面 当然 我们在删除用户的时候 也需要将host改为localhost 也就是说之后的每步操作都需要修改掉host头 来欺骗服务器 

 

 4:通过模糊请求导致Web缓存中毒

 可以看到该页面加载了两个js文件 通过X-Cache标签可以知道是存在缓存机制的

也就是说此时如果我们在增加一个全新的host 伪造一个恶意的js文件 因为暂存机制的存在就会保留我们的js文件 这样即可执行恶意的javascript代码

使用漏洞利用服务器伪造js文件

 然后抓取数据包增加一个我们在漏洞利用服务器上获取的host头文件 放包即可 这里host是需要用到双写 覆盖的方式不可

 

查看一下访问日志 成功获取到靶场的ip请求 

 

5: 基于路由的SSRF

本关卡首先需要判断SSRF漏洞的存在

关于SSRF漏洞的验证大致可分为三种情况 有回显 无回显 不出网

有回显的情况一般可以根据返回包直接看到 无回显则需要借助第三方的服务器去请求 一般使用dnslog,

这两种情况都是在出网的情况下 还有一种就是不出网的情况 需要对ip端口进行爆破 查看数据包的请求时间

因为靶场设置的原因 这里使用的第三方服务器是burp自带的Burp Collaborator来进行测试

在这里这是使用默认 Collaborator的server

点击左上角的burp

复制一个地址

 抓取数据包,将host头修改刚刚复制的地址

点击poll now后 可以看到请求成功 会得到了回显 ssrf漏洞存在

但是因为没有ip信息 我们需要对ip进行爆破 需要将host自动更新关掉 

 

 

 

回到首页抓包拦截 将host改为我们爆破出的192.168.0.210 然后放包 

随后出现了一个/admin接口的数据包 同理将host改为192.168.0.210

成功跳转到删除用户的网页,输入我们需要删除的用户的信息 即可通关 后面的每一步都需要将host改为192.168.0.210

 

6:SSRF通过有缺陷的请求解析

这关与上个关卡很相似 但是在替换掉host的时候出现了问题 访问被拒绝了

 

 我们将url添加到数据包中重放

 

后续的操作跟之前就是一样的了 爆破ip地址

 

在跳转到admin界面的时候也需要将admin接口的前面加上url地址 

相比于前一关 后续操作的每一个接口都需要加上url的地址信息

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值