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

  关于网站的渗透测试可能师傅们都有自己一套思路,有个共同点就是目标网站基本属于全静态页面,几乎很少存在动态参数这时意味着客户端无法通过提交参数形式进行测试,理论上也规避掉了许多风险。既然无法从参数层面进行测试,那么考虑尝试下修改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或其他错误,下图以某官网为例

49c8e4a628de96e133b6fed601765219.png

                                                (上图携带host值)

c2e4eec6a78f35ec6b95b4cabf9969ec.png

                                                (上图host值为空)

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

二   漏洞产生及危害

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

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

8acafadf9a0da80864009b7e1c109441.png

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

d66e9022caa1897ddabdc8b6a7fa6516.png

ff99047f4fe99d26e248e8ff83521bb7.png

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

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

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

940853a2f8ffbd2269014bbc15cf6f66.png

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

03ea7f637d52962c27e14b7cd842146e.png

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

ac1a3e6a7ef3b88b0d6859d734f55053.png

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

三  如何探测host注入

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

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

a25cd23188eb51f4b2f8e7252fd9bff7.png

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

1044ad2f73af361ba940bc5895a5528c.png

在Extender中Extensions中查看

7082deaf81f3bb4959ea740fbd0ac661.png

四  如何规避Host注入

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php简单环境,PHP 简单的环境搭建

windows nginx mysql php https://code.google.com/p/wnmp-server/ php手册 http://www.phpchina.com/download/handbook/openbiz_manual/php-bigxhtml.html http://www.php.net/manual/zh/index.php http://www.w3school.com.cn/php/index.asp http://localhwindows nginx m…

wpfdiagram 学习 教学_李倩、吴欣歆:新高考背景下高中语文教学的三个转变

新高考背景下高中语文教学的三个转变李倩 吴欣歆大量的实证研究指出,以中高考为代表的高利害型评价方式对教师教学具有显著的回冲效应。当考试与评价能够为学科学习带去更多富有价值的信息以及关于学习理念、学习策略的积极引领时,评价对教学的指挥棒作…

python莫比乌斯_莫比乌斯函数 - osc_7eqzxl4g的个人空间 - OSCHINA - 中文开源技术交流社区...

前导要学习莫比乌斯函数 需要学习 到 积性函数,深度理解欧拉筛。先说说什么是积性函数吧。积性函数其实积性函数非常好理解,定义积性函数:若gcd(a,b)1,且满足f(ab)f(a)f(b),则称f(x)为积性函数完全积性函数&#xff1a…

macos catalina 合盖 风扇狂转_防爆排风扇BFS-400叶轮直径400mm功率180W/220V转速1400rpm风量2400_...

防爆排风扇BFS-400叶轮直径400mm功率180W/220V转速1400rpm风量2400 一、防爆排风扇BFS-400叶轮直径400mm功率180W/220V转速1400rpm风量2400 风机概述隔爆型防爆排风扇(以下简称排风扇)其防爆性能按《爆炸性环境用防爆电气设备通用要求》《 爆炸性环境用防爆电气设备隔爆型电气设…

python的xlrd怎么安装_python接口测试,第三方包xlrd和xlutils,怎么安装

第1个:xlrd的下载地址:https://pypi.python.org/pypi/xlrd/0.9.2安装过程:下载后解压文件夹,使用cd命令行进入该文件夹后,用命令:python setup.py install 之后再import发现安装好了第2个:pip i…

linux传输文件scp自动接密码,配置scp在Linux或Unix之间传输文件无需密码

如何配置scp文件传输实现scp在Linux或Unix之间传输文件,首先需要配置好scp,默认scp要使用密码的,通过以下配置可以不用输入密码,就完成Linux或Unix之间的文件传输假设有2台Linux, A server, B server(ip假设…

Excel表Ctrl+v和Ctrl shift+v有什么区别_Ctrl键与10个数字键,26个字母键的组合应用技巧解读...

键盘是一种必备的输入设备,其应用率最高的就是10个数字和26个字母。如果将这10个数字和26个字母与Ctrl键组合,并应用到Excel中,会是怎样的一种体验。一、Ctrl与数字键。1、Ctrl1:打开【设置单元格格式】对话框。方法:选…

图像信噪比计算公式_CT 科研设计之图像质量对比研究三步曲

CT科研是CT技术的窗口,帮助医务工作者开展CT科研也是我们的责任和义务! 问如何科学地比较不同重建技术的图像质量?答首先要排除其他影响图像质量的因素,然后进行客观指标的比较,最后进行主观指标的比较。CT 科研设…

linux rm 中文文件夹,在Linux下删除文件及文件夹(rm)

删除目录、文件 rm(remove)功能说明:删除文件或目录。语  法:rm [-dfirv][--help][--version][文件或目录...]补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r”,否则预设仅会删除文件。参  数…

vue 改变domclass_手机上的大片制作软件——如何使用VUE

作者:海旅所 姚嘉禾VUE是一款手机视频拍摄与美化工具,允许用户通过简单的操作实现视频的拍摄、导入视频的剪辑,表现力的细调、改变滤镜,加贴纸和背景音乐等功能,轻松在手机上拍出电影大片的质感,实时记录与…

徐涛八套卷pdf_徐涛八套卷pdf,11月9日资料更新!

每日更新:天猫正版优惠券 肖四肖八50 原价659?f/u枝口~令¥U2rvc9tppTl¥回?t~bao?或坫击しāη接 https://m.tb.cn/h.4XKmUmV 至留览器徐涛冲刺四件套56 原价619?復淛这个¥ehWyckQvkBq¥打кǎI?淘Ь?或點凢しāη…

linux查代替命令,Linux下查/删/替 命令(转)

▪查看某目录下所有文件的个数:[rootlocalhost1 opt]# ls -l |grep "^-"|wc -l▪查看某目录下所有文件的个数,包括子目录里面的:[rootlocalhost1 opt]# ls -lR|grep "^-"|wc -l▪查看某目录下文件夹(目录)的个数&#xf…

lan8720a自协商启动_紫金矿业2020届校招海外9站全面启动(面向全专业)

01了解紫金矿业自1993年始27载春秋,紫金矿业砥砺前行现已成长为中国控制金属矿产资源最多的企业之一AH 股上市千亿级矿业巨头紫金矿业口碑载道亚洲最佳矿业公司2019年《福布斯》排行榜全球黄金企业第1位有色金属企业第10位2019年《财富》中国企业排行榜稳居百强紫金…

cad移动时捕捉不到基点_硬盘或移动硬盘认不到时,应该怎样进行故障的检测才正确...

其实能理解许多PC用户或笔记本电脑用户,在操作系统无法正常启动或是移动硬盘无法正常识别时往往都是找身边懂维修或是公司IT人员先进行检测,但是在做这些操作时千万要慎重,毕竟这关系到存在硬盘上的重要数据。为了能够最大限度上保证数据的可…

linux move权限,Red Hat Enterprise Virtualization Manager MoveDisk目标域权限检查不足拒绝服务漏洞...

发布日期:2013-02-05更新日期:2013-02-27受影响系统:RedHat Enterprise Virtualization Manager 3.0描述:--------------------------------------------------------------------------------BUGTRAQ ID: 57750CVE(CAN) ID: CVE…

jq fileupload 设置最大文件大小5m_捷达将发布全新中大型SUV 或命名VS9/车长超5m

【太平洋汽车网 新车频道】近日,我们从相关渠道了解到,捷达将推出一款全新的中大型SUV车型,或命名为VS9。据悉,新车将与一汽-大众SMV同平台打造,也就是基于MQB-B,车身尺寸与途昂相仿,长度将超过…

uml活动图 各个功能的操作流程和分支_UML建模之活动图介绍(Activity Diagram)

一、活动图的组成元素 Activity Diagram Element1、活动状态图(Activity)2、动作状态(Actions)3、动作状态约束(Action Constraints)4、动作流(Control Flow)5、开始节点(Initial Node)6、终止节点(Final Node)7、对象(Objects)8、数据存储对象(DataStore)9、对象流(Object Flo…

linux c 进程编程,linux c/c++ 编程之-----进程操作

进程系统调用 getpid 可以得到进程的 ID,而 getppid 可以得到父进程(创建调用该函数进程的进程)的 ID.#include ;pid_t getpid(void);pid_t getppid(void);struct passwd {char *pw_name; /* 登录名称 */char *pw_passwd; /* 登录口令 */uid_t pw_uid; /* 用户 ID */gid_t pw_g…

pcm 采样率转换_All Video Converter Pro for mac(音视频格式转换器)

视频格式不支持播放?macz为您介绍一款可以快速简单地将视频和音频文件转换为所有流行的格式。支持几乎所有的视频和音频格式,同时还可以裁剪视频,剪辑任何片段,将多个文件合并为一个,并 在视频上添加水印。All Video C…

qt中如何模拟按钮点击_qt – 在Windows中模拟鼠标按钮单击

这是在C#中,但可能会帮助您了解一下:[DllImport("user32.dll",CharSetCharSet.Auto,CallingConventionCallingConvention.StdCall)]public static extern void mouse_event(long dwFlags,long dx,long dy,long cButtons,long dwExtraInfo);private const …