关于网站的渗透测试可能师傅们都有自己一套思路,有个共同点就是目标网站基本属于全静态页面,几乎很少存在动态参数这时意味着客户端无法通过提交参数形式进行测试,理论上也规避掉了许多风险。既然无法从参数层面进行测试,那么考虑尝试下修改header中的值看看是否被服务端允许,比如HOST值

一  HOST标头概念

host标头作为Request Header中不可或缺的一部分,大家知道http版本从开始的1.0到1.1以及以后的1.2经历三个版本,且目前1.1用户最多。在1.0中Request Header中的host值其实可以为空,和1.1区别主要是1.1支持不间断连接、1.0则每次得到响应后断开连接。另外1.0不支持虚拟主机只能一个ip对应一台服务器,这也是1.0中host可以为空的主要原因。

Host被解析的大致流程如下:

客户端-->请求-->URL-->解析IP地址-->服务器-->解析Host值-->转发具体域名

在1.1中host标头的主要功能将客户端请求分发到内部具体的域名中,当然如果存在ng反代或负载等情况下当流量到达服务器之前可能会更改host的值。如果1.1中不包含host的值或值格式有误服务器则返回400或其他错误,下图以某官网为例

(上图携带host值)

(上图host值为空)

在基于目标存在虚拟主机(同IP不同域名)情况下,url负责解析IP,服务器接收到请求时依据host值负责分发到具体域名中。

二   漏洞产生及危害

服务器充分信任客户端所提交的数据或管理员没有意识到host可能产生的风险,比如服务器支持X-Forwarded-Host标头(XFH),X-Host等。在修改原始Host值或者通过添加XFH标头将值设置其它域还能被服务器正常接受,就判断可能存在Host注入了..

下图通过修改某官网host值,服务器返回404找不到路径..

下图删除或修改百度的host值看有什么反应

当删除百度Host值依然返回200OK,如果修改的话直接返回403,因此判断服务器后端有默认配置www.baidu.com,host值为空时则采用默认配置;当修改值时因为依然存在值会直接解析该值所以不会重定向到www.baidu.com,由于无法解析2222因此返回403。

了解host基本工作原理后,那么存在host漏洞会造成哪些影响?理论上造成的影响其实有很多比如越权,SSRF,SQL注入,XSS等等。。

下面利用burp场景介绍基于host注入造成的垂直越权,正常请求如下

当访问管理页面时出现未授权访问

当将host值修改为localhost时访问成功

具体漏洞利用场景有很多,这里不一一赘述,对host注入感兴趣的朋友可以私信交流。

三  如何探测host注入

1.探测网址url是否包含host注入漏洞很简单,尝试修改或删除host值后观察服务器响应,如果修改后或完全删除还能够被服务器接收并返回响应基本判断存在注入,当然具体还要推测服务器后端具体配置。

2.通过探测网站支持的标头来测试,如X-Host,X-Forwarde-Host等,这里推荐一款老外写的自动化主机头检测工具在burpsuite中直接安装下载  Param Miner,使用方法很简单

安装成功后在站点地图中右键使用

在Extender中Extensions中查看

四  如何规避Host注入

1.在后端配置文件中结合业务情况禁用绝对路径的url,采用相对路径如/wp-admin/a.php

2.如必须绝对路径,应手动添加绝对路径并指定域名如https://a.baidu.com/wp-admin/a.php,在配置文件中引用此值,而不是host值

3.在web框架中以白名单方式验证,只允许允许的域

4.禁用不需要的标头如XFH,XH等,一些中间件默认可能支持XFH标头

感谢阅读,不足之处欢迎大佬斧正~

检测到目标url存在框架注入漏洞_HOST注入攻击剖析相关推荐

  1. 检测到目标URL存在http host头攻击漏洞

    一.前言 漏洞描述:为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST"].但是这个header是不 ...

  2. java host头攻击漏洞_Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法...

    检测到目标URL存在http host头攻击漏洞 详细描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST ...

  3. 检测到目标URL存在http host头攻击漏洞,修复方案:在Web服务器防止Host头攻击

    一.前言 漏洞描述:为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST"].但是这个header是不 ...

  4. 检测到目标URL启用了 Microsoft ASP.NET 调试

      检测到目标URL启用了 Microsoft ASP.NET 调试 1 详细描述 Microsoft ASP.NET 很容易受到信息泄露***.***者可以发送一个通知是否支持调试支持的恶意请求.  ...

  5. PAS安全:绿盟软件扫描,报“检测到目标主机可能存在缓慢的HTTP拒绝服务攻击“漏洞如何解决?

    [问题描述] 绿盟软件扫描PAS6.5,报"检测到目标主机可能存在缓慢的HTTP拒绝服务攻击"漏洞如何解决? [解决方案] 在PAS左侧菜单>配置>server-con ...

  6. 绿盟检测到目标主机可能存在缓慢的HTTP拒绝服务攻击,解决过程

    今天做了一个等保网站,客户使用绿盟进行安全测评,由于在测评前,我已使用丹靘测试进行了免费检测,所以信心十足,结果,果然连一条低危风险都没有出,出了一条:检测到目标主机可能存在缓慢的HTTP拒绝服务攻击 ...

  7. 【愚公系列】2023年05月 网络安全高级班 065.WEB渗透与安全(SQL注入漏洞-手工注入)

    文章目录 前言 一.SQL注入漏洞-手工注入 1.错误注入 2.布尔注入 2.1 通过`'or 1=1 --` 注入 2.2 通过`admin'or 1=1 --` 注入 3.联合注入 3.1 查看u ...

  8. 目标URL存在跨站漏洞

    URL存在跨站漏洞

  9. 注入漏洞-sql注入

     注入漏洞 注入漏洞 1 SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行指定的SQL语句.具体来说,它是利用现有应用程序, ...

最新文章

  1. bzoj1036: [ZJOI2008]树的统计Count 树链剖分
  2. Linux新手要了解的十个知识点
  3. win10设置默认打开方式
  4. python3(十三)File对象的属性
  5. tomcat如何查找请求资源的?
  6. python爬虫需要什么知识-学习Python爬虫技术,需要掌握哪些web端的知识?
  7. c语言第五章作业,《C语言程序设计》第五章作业.doc
  8. 分别用邻接矩阵和邻接表实现图的深度优先遍历和广度优先遍历_数据结构与算法:三十张图弄懂「图的两种遍历方式」...
  9. 今天我点亮了CSDN博客专家殊荣
  10. java 数字任意三个数_求Java编程个猜数字游戏!任意输入个数根据提示大了或小了直到选对...
  11. css设置弹出信息,javaScript自定义alert弹出信息窗口
  12. 步进电机加速的c语言编程,步进电机加速-匀速-减速运行程序(C - 电子制作 - 电子发烧友网...
  13. 软考-信息系统项目管理师-信息系统与信息化
  14. idea license server 最新可用 IntelliJ IDEA 2018.1 x64 激活 idea license server
  15. 快速学习-XXL-JOB调度中心/执行器 RESTful API
  16. QGraphicsItem设置绘图区域和鼠标响应以及碰撞检测区域,并实现碰撞检测
  17. C++年月日时分秒与秒数互相转换
  18. Genesis 社区答疑—第一期
  19. android转flutter成型来读一读
  20. SQL Server从入门到精通(四)

热门文章

  1. 浅谈本地服务器的搭建 XAMPP
  2. 图形验证码校验php,ThinkPHP实现生成和校验验证码功能
  3. 基于RBAC的权限设计
  4. mysql8.0提示命令_Mysql 8.0 相关命令
  5. [蓝桥杯][历届试题]蚂蚁感冒(模拟)
  6. matlab 色彩模型,常见色彩模型的相互转换(基于MATLAB).doc
  7. mods文件夹怎么创建_TCL电视怎么安装蜜蜂视频通用教程
  8. 代码查看工具_这样Review代码牛逼啦!
  9. 编译32位_玩转Android10源码开发定制(11)内核篇之安卓内核模块开发编译
  10. 我是机器人布里茨_9.19机器人钩子范围增加,这些位置阴人无敌,一Q一个小朋友...