Http host 标头攻击

一、什么是http host 标头攻击

        HTTP Host 标头攻击是一种网络安全攻击技术,利用了 HTTP 协议中的 Host 标头字段的漏洞。Host 标头字段用于指定客户端请求的目标主机名或域名。

        攻击者可以通过构造恶意的 HTTP 请求,伪造或篡改 Host 标头字段的值,从而欺骗服务器,让服务器误以为请求是针对其他主机或域名的。

二、 http host 标头攻击导致那些安全问题、

        资源访问控制绕过:攻击者可以通过伪造 Host 标头来绕过服务器的访问控制策略。
例如,如果服务器配置了特定的访问控制规则,仅允许特定的主机或域名访问敏感资源,但攻击者可以伪造 Host 标头,使服务器误以为请求来自受信任的主机,从而绕过访问控制。

        跨站请求伪造 (CSRF):攻击者可以伪造 Host 标头来欺骗用户浏览器发送恶意请求。如果目标网站没有适当的 CSRF 防护措施,攻击者可以利用这种漏洞进行 CSRF 攻击,以用户的名义执行未经授权的操作。

        服务器端缓存污染:攻击者可以通过伪造 Host 标头来污染服务器端的缓存。如果服务器根据 Host 标头字段来缓存响应内容,攻击者可以伪造 Host 标头发送恶意请求,将恶意响应缓存到服务器上,从而导致其他用户受到影响。

三、常见利用方式

1、通过模棱两可的请求导致 Web 缓存中毒

2、主机标头身份验证绕过

        思路:查看robots.txt发现后台地址,将host改为localhost 进行绕过利用。

3、基于路由的 SSRF

        思路:根据提示使用Intruder进行暴力尝试host,由于暴力破解使用/login访问的,返回了404,觉得这个机器有问题,使用/admin,成功返回管理界面。

4、通过有缺陷的请求解析进行 SSRF

        思路:发现绝对路径地址可以被服务器识别,而host 改成其他地址时,没被服务器阻拦,报504 (网关超时),原因是服务器作为网关或代理,没有及时从上游服务器收到请求。使用Intruder进行暴力破解,找到上游内网服务器ip,进行利用。

 四、常见的防御措施

1、验证和过滤输入:在服务器端应用程序中,对HTTP请求中的Host头进行验证和过滤,确保它符合预期的格式和内容。拒绝包含非法字符或异常情况的Host头。

2、配置服务器:确保服务器的配置正确,阻止未经授权的Host头请求。可以使用服务器配置文件(如Apache的httpd.conf或Nginx的nginx.conf)中的相关指令来限制请求中的Host头。

3、设置安全响应头:使用安全响应头,如HTTP Strict Transport Security(HSTS)和Content Security Policy(CSP),以增加安全性并减少攻击面。

4、使用Web应用防火墙(WAF):部署Web应用防火墙来检测和阻止恶意的Host头攻击,它可以根据事先定义的规则集来识别和拦截潜在的攻击。

5、安全编程实践:在开发Web应用程序时,采用安全编程实践,如输入验证、输出编码和参数化查询等,以减少攻击的风险。

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

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

相关文章

Linux系统安全:安全技术和防火墙

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、Linux系统安全:安全技术和防火墙1.安全技术:2.入侵防御系统 (Intrusion Prevention System) :3.防火墙 ( Erewall ) :4.防水墙&#xff…

GPT模型训练实践(3)-参数训练和代码实践

一、参数训练 GPT模型参数的训练过程宏观上有两个大环节,先从上往下进行推理,再从下往上进行训练,具体过程为: 1、模型初始化参数随机取得; 2、计算模型输出与真实数据的差距(损失值和梯度) …

Linux 6.5增加对高通开源GPU Adreno 690的支持

导读即将推出的Linux 6.5内核将把对高通Adreno 690 GPU的支持添加到开源的MSM内核图形/显示驱动程序中。A690主要用于骁龙8cx第三代(SC8280XP)平台,而联想ThinkPad X13s笔记本电脑和其他硬件也采用了该平台。 新的支持将包含近200行代码&…

JS数据分组引发的思考

我们经常需要对数据进行分组(分类),得到需要的格式。 1.简单示例 例如有一份对象数组的数据 const data [{ name: Liam, age: 18, sex: male },{ name: Bob, age: 20, sex: male },{ name: Diana, age: 21, sex: female },{ name: Grace, age: 20, sex: female }…

【云原生丶Kubernetes】Kubernetes初体验

人生若只如初见,何事秋风悲画扇。 前言 Kubernetes 是目前最流行的容器编排工具之一,由Google开发并维护。它提供了完整的容器编排解决方案,包括自动化部署、资源管理和调度、服务发现和负载均衡等功能。 然而,对于初学者来说&a…

【Linux】文件描述符(下篇)

文章目录 📖 前言1. 文件描述符fd的分配规则2. 重定向的本质3. 缓冲区的理解3.1 感受缓冲区的存在:3.2 正式认识缓冲区:综合例题: 4. 模拟实现C语言的文件操作5. 完善之前实现的shell5.1 程序替换,会影响曾经子进程打开…

决策树 ID3 手工推导

掌握决策树ID3算法的原理,通过增益熵实现手工推导的过程。 参考案例:https://cuijiahua.com/blog/2017/11/ml_2_decision_tree_1.html 机器学习实战教程(二):决策树基础篇之让我们从相亲说起 决策树 ID3 手工推导 决策树 ID3 简介 ID3作为一种…

多个微信号如何管理?

很多公司都在发愁这几个问题: 1、拥有多个微信号,不想管理多台手机,想将所有微信号进行统一管理 2、想用软件来代替传统的营销体系,安全性上也要有保障 3、用人成本太大与公司的效益不成正比 4、多个账号发圈不方便&#xff0…

Neo4j docker 部署

想要运行简单测试一下neo4j,就直接使用docker创建了一个容器,并用cypher-shell本地连接neo4j,创建图进行测试。 1 开启docker sudo systemctl start docker2 拉取镜像源 sudo docker pull neo4j # 默认latest版本3 查看本地镜像&#xff0…

ElasticSearch学习02——Kibana安装

ElasticSearch学习02——Windows下Kibana安装 Kibana是界面化的查询数据的工具,下载时尽量下载与ElasicSearch一致的版本。 1、下载对应版本的Kibana ​ 有了ElasticSearch安装的经验,我们发现了ES和JDK有着版本对应的关系,Kibana和ES共同为…

【机器学习】支持向量机(上)

支持向量机(上) 目录 一、导言二、何为支持向量机三、点到平面的距离计算四、构建目标函数(支持向量机的基本型推导)五、利用 KKT 条件对目标函数进行转换1、拉格朗日乘数法的引入2、KKT 条件的引入3、松弛互补条件的引入4、总结 …

交叉熵损失CrossEntropyLoss

交叉熵损失CrossEntropyLoss 语义分割网络输出tensor的尺寸为【B,C,H,W】,进行多分类,label的尺寸为【B,H,W】。 举例:三分类:output【1, 3,3, 3】,label【1, 3, 3】 验证 import torchoutput torch.tensor([[[[1, 1…