getRequestDispatcher转发造成的一个网络安全漏洞-web.xml文件被访问

    今天早上收到老师转的一封邮件,是关于我们实验室网站的一个安全漏洞的,光看邮件笔者第一时间看不太懂。后来打电话咨询才搞清楚是怎么一回事。
在这里插入图片描述

    下面这幅图的意思是通过一个软件生成一个非法链接访问我们实验室的网站,可以查看系统文件web.xml,对了,这个软件叫“补天漏洞响应平台”。这的确是一件蛮严重的事情。这个漏洞是怎么造成的呢?请看一行代码。

request.getRequestDispatcher(errorurl).forward(request, response);

在这里插入图片描述
    这个代码有没有问题?答案是肯定有问题,还不小。变量errorurl是通过get方式传过来的,如果在在浏览器中输入"****?errorurl=/WEB-INF/web.xml"这样一个链接,通过转发真的是会查看到web.xml内容的。知道了这个漏洞的原委,填补很简单。
办法也有很多,笔者给出一种,主要思路就是限制其转发系统中禁止被访问的内容,代码如下。

if(errorurl !=null && errorurl !="" && errorurl.length() >=4 && errorurl.indexOf("WEB-INF")==-1 ){
	request.getRequestDispatcher(errorurl).forward(request, response);
} else {
	throw new Exception("非法链接");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东心十

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值