HTTP host头攻击的技术

一个有漏洞的JSP代码案例:
这里写图片描述

使用HTTP代理工具,如BurpSuite篡改HTTP报文头部中HOST字段时,加红框中变量即客户端提交的HOST值,该值可被注入恶意代码。

request.getServerName( )方法引用HTTP报文头部中HOST字段

如过上面的页面在base标签里用了 basePath
那么页面上js 或者 css 就会请求 被注入的恶意路劲

总结:
客户端篡改HTTP报文头部中HOST字段,然后我们后台又拿这个字段去使用,这就是 HTTP host头攻击

-----------------------------------------------分割线-----------------------------------------------

还有一种就是情况访问网站时如果访问路径中缺少/,大多数中间件都会自动将路径补全,返回302或301跳转如下图,Location位置的域名会使用Host头的值。
这里写图片描述

这种情况实际上风险较低,难以构成Host头攻击。但是由于大多漏洞扫描器会将这种情况检测为Host头攻击,为了通过上级检查或各种审核,大多数甲方单位会要求修复漏洞,彻底解决问题

修复方法:

Nginx:
方法一:
修改nginx.conf

添加一个默认server,nginx 会根据访问头(request head)中Host 的数据来确定使用哪个server来处理当前请求。如果请求没有匹配任何 server,或者访问头(request head)中没有包含Host的数据,那么nginx会将该请求路由给默认的 server,当host头被修改匹配不到server时会跳到该默认server,该默认server直接返回403错误。

server {
    listen       8888 default_server;
    server_name  _;
    access_log   off;
    return       403;
}

方法二:
修改nginx.conf

在目标server添加检测规则,参考以下配置:(if部分)

server {

       server_name  192.168.0.171;

       listen       8888;

        if ($http_Host !~*^192.168.0.171:8888$)

        {

        return 403;

        }

       include /etc/nginx/default.d/*.conf;

       location / {

       root /www/dvwa;

       index index.php index.html index.htm;

       }

}

Tomcat:
修改tomcat\conf\server.xml

找到如下位置:
这里写图片描述
将Host里的name修改为静态的域名,如下:

这里写图片描述

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Jenkins是一个流行的持续集成和持续交付工具,它能够集成许多不同的工具和技术来自动化软件开发过程中的各种任务。在使用Jenkins进行构建和部署时,有时会出现“host key verification failed”的错误消息。 这是因为Jenkins使用SSH连接到其他服务器来完成某些任务,例如从源代码管理系统(如Git或SVN)拉取代码或将代码部署到生产环境中。在安全范围内,SSH会比较远程服务器的密钥,以验证它是否与上次连接时相同。如果SSH认为密钥发生了变化,它会显示一个错误消息,以提示用户进行确认。 如果您在使用Jenkins时遇到了host key verification failed错误消息,那么可能是由于以下几个原因: 1. 您首次连接远程服务器,但是SSH无法验证密钥。 2. 远程服务器的密钥已更改,但是SSH没有更新该密钥。 3. 远程服务器可能存在安全问题,例如DNS欺骗或中间人攻击。 为了解决这个问题,可以尝试以下几个方法: 1. 确认您首次连接的是正确的服务器,并验证其密钥是否正确。 2. 如果远程服务器的密钥已更改,请更新SSH的已知主机密钥列表。 3. 检查远程服务器是否存在安全问题。 在Jenkins中,可以使用SSH插件来管理SSH密钥和连接。通过正确配置SSH插件,可以避免host key verification failed错误消息的出现。在大多数情况下,这个错误消息只是一个安全提示,应该注意确认连接的服务器是否可靠。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值