一、问题源起

  HTTP1.1规范中在增加了HOST头信息,用于存储服务端与客户端的路由信息。

  例如:

    Request的Header里就有一个标名请求,它是用来记录服务端网站域名的。

    如果前端或者后台正好用到这个值,比如jsp的

      String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort();

    那么黑客就可以通过修改HOST里域名值以达到攻击的目的。

      比如request.getServerName()改成:www.baidu1.com,这样页面内引用后请求就会被转接了。

二、解决思路

  主要解决方案主要分为两个:

  1、不用HOST头的东西

  2、防止“敌方”篡改这部分信息

  3、使用加密等手段,使得篡改成本高到无以复加

三、解决方案

  

1、nginx代理强制指定header内容,例如:

// nginx修改ngnix.conf文件

  server {
    ...
    server_name www.abc.com; 
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    ...
  }

 

2、Apache,修改httpd.conf文件,指定ServerName,并开启UseCanonicalName选项。

3、Tomcat,修改server.xml文件,配置Host的name属性。

参考来源:

https://blog.csdn.net/u012903926/article/details/81702224

https://www.jianshu.com/p/690acbf9f321

host头攻击的更多相关文章

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

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

  2. 目标URL存在跨站漏洞和目标URL存在http host头攻击漏洞处理方案

    若需要学习技术文档共享(请关注群公告的内容)/讨论问题 请入QQ群:668345923 :若无法入群,请在您浏览文章下方留言,至于答复,这个看情况了 目录 HTTP协议详解 引言 一.HTTP协议详解 ...

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

    检测到目标URL存在http host头攻击漏洞 1.引发安全问题的原因 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HT ...

  4. URL存在http host头攻击漏洞-修复方案

    URL存在http host头攻击漏洞-修复方案 spring boot使用注解的方式 -- 第一步:在自定义filter类上添加如下注释 package com.cmcc.hy.mobile.con ...

  5. (三)Host头攻击

    01 漏洞描述 为了方便获取网站域名,开发人员一般依赖于请求包中的Host首部字段.例如,在php里用_SERVER["HTTP_HOST"].但是这个Host字段值是不可信赖的( ...

  6. 【漏洞一】检测到目标URL存在http host头攻击漏洞

    [漏洞] 检测到目标URL存在http host头攻击漏洞 [原因] 在项目中使用了 request.getServerName 导致漏洞的出现 不要使用request中的serverName,也就是 ...

  7. 【由浅入深_打牢基础】HOST头攻击

    [由浅入深_打牢基础]HOST头攻击 前几天一直准备别的事情,然后用了2/3天时间去挖了补天某厂的SRC,还是太菜了,最后提交了一个低危(还没出结果,还有点敏感信息泄露,感觉略鸡肋也没交),不过偶然发 ...

  8. URL存在跨站漏洞http host头攻击漏洞解决方案

    最近项目部署的时候客户使用的绿盟扫描出一些漏洞,老大让我处理,经过看大神的博客等方式,分享一些简单的解决方法. 一 跨网站脚本 跨网站脚本(Cross-site scripting,通常简称为XSS或 ...

  9. 【漏洞学习】HOST 头攻击漏洞

    日期:2018-03-06 14:32:51 作者:Bay0net 0x01. 前言 在一般情况下,几个网站可能会放在同一个服务器上,或者几个 web 系统共享一个服务器,host 头来指定应该由哪个 ...

  10. http host头攻击漏洞

    原文地址: https://www.zhuyilong.fun/tech/handel_httphost_attack.html 漏洞描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host ...

随机推荐

  1. java学习一:java介绍及第一个helloword程序

    1.java语言介绍 java是一门后台开发语言 大型web语言系统开发,app后台服务首选开发语言 java这门语言大特点:跨平台,安全性高,有丰富的类库 核心思想:面向对象 2.Jdk介绍 3.为 ...

  2. java中Atomic变量的实现原理是怎样的?

    转载自: Java3y https://www.zhihu.com/question/39130725/answer/1006948362 一.基础铺垫 首先我们来个例子: public class ...

  3. 第二性 合卷本 横本.EPUB

    书本详情 第二性台版 作者: 西蒙.德.波娃(Simone de Beauvoir)出版社: 貓頭鷹原作名: Le Deuxième Sexe译者: 邱瑞鑾出版年: 2013-10页数: 1136装帧 ...

  4. mysql-canal-kafka-kettle 数据实时同步链部署bug 填坑过程

    1,因为 mysql 版本从5.7 提高到 8.0  ,需要更改用户配置. create user 'canal'@'%' identified by 'canal';grant select , r ...

  5. Git相关、Gitee多人协同开发

    Git相关 1.介绍 ​ 是一个具有版本控制的软件,控制开发的项目代码,具有集群化.多分支的功能 2.对于程序员的作用 协同开发 解决代码合并过程中冲突 代码版本管理 3.git 与 svn 比较 ​ ...

  6. gRPC 入门(一)

    前言 在学习 gRPC 之前,先学习 protobufu 协议,简单的来理解,我们可以使用他来定义 消息 和 服务.然后你只需要实现服务即可,剩下的东西,gRPC 会帮你自动完成. protobufu ...

  7. 【Java学习Day10】类型转换

    类型转换 由于Java是强类型语言,所以要进行某些运算的时候,需要用到类型转换 低------------------------------------------>高 byte-->s ...

  8. repmgr部署和测试

    https://www.modb.pro/db/22029 https://blog.csdn.net/qq_34479012/article/details/125706815?app_versio ...

  9. c语言动态库与静态库

    // show.h #ifndef __SHOW_H_ #define __SHOW_H_ #include <stdio.h> #include "math.h" v ...

  10. docker镜像打包成tar包,上传到另一台服务器

    需要打包的服务器操作: 一.需要打包的服务器执行以下操作 docker save -o node.tar.gz calico/node #  docker save -o  要打镜像包的名称  镜像 ...