使用request.getServerName() 可能被操纵 容易产生跨站漏洞(检测到目标URL存在http host头攻击漏洞)

本文主旨总结:使用request.getServerName()的请注意  这个方法的数据来源是不可信的可能被操纵 容易产生跨站漏洞

作为一个快乐的补锅匠,这次补锅是真的快乐,因为解除了一个拿到手一脸懵逼,然后慢慢了解的一块内容:安全漏洞。当然是绿盟扫描出来的了。废话不多话,讲重点。

首先绿盟扫描出来的漏洞是这样的:检测到目标URL存在http host头攻击漏洞

如下图:

大概意思就是如果人家改了下host,就可以调到人家指定的网址了(浅入理解,大神看到一定要指点我下。)

比如这样:curl -H 'Host:www.zujuge.com' http://127.0.0.1:8080/import

得到的就是一个跳转页面,因为这个import不存在啊。而跳转页面包含如下代码

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+p

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值