最近工作中遇到一个URL跨站漏洞,从网上一查,得知是XSS中的一种,这是局方通过购买的安全测试软件测出来,只给我们发了一个测试结查报告,刚开始单从这个报告的解决方法中得不到具体的解决信息,也只是一般的解决信息,这些都可以从网上找到,如要了解XSS漏洞,可从google中了解,如下说说我的解决方法:

     从网上搜了一把,发现解决方法和现有系统中的不太好改,要改前端的话,URL地址多,那就只能从后端去拦截。

     先说一个题外话,iteye是我上的最基本的一个网站,不知大家平时有没有发,在www.iteye.com/后面加入一些JS的脚本代码,它都会跳到一个错误提示页面,这样就可以很好的拦截了XSS漏洞,现很多的网站又都做到这些,而把JS加到我们的系统中,JS脚本据然执行了,那这就有问题 。

    解决办法:

URLDecoder.decode(requesturl,"UTF-8") ;

,有时在URL中的字符都是编过码的。

         2, 之前看到有一些网站上,在URL后面加JS脚本,它的容错机制很多,还是会在显示原URL的内容,不会出现错误页面。 这种方法也是在Filter中做的过滤,做法比第一种写的要多,它是要把出现的如 从 script 后面的js脚本代码去掉,再把URL拼接起来,往下传递去请求相应的内容。

      以上解决基本可解决,但在客户端 有时也要做一些判断,主要是对输入框中的内容做限制,或过滤JS字符,如login 对话框 ,用户名,密码,要做数字字符和长度的限制等 ,还有一些其它的输入。