Cross Site Scripting (XSS) and prevention

众多的XSS攻击冲击到我们的互联网环境,本篇文章想要通过filter的解决方案处理XSS攻击。

先来看下XSS是如何攻击


Cross Site Scripting (XSS) and prevention_第1张图片
 预防最好的方式是能够清理请求恶意的参数,如果评论如下方式

<div>A's Comments</div>
<div>
<script>
<!--
This script will get all cookies and will send them to attacker's site.
-->
</script>
</div>

就如同上述的方式,确实在现实中成真,这对于一个HTML文档是可以markup的是致命的危险。如果在script中的脚本被联合执行,那么XSS攻击就被执行,可以干任何事情。我们可以通过Servlet Filter 把输入的参数和特殊符号屏蔽。

这样的处理方式确实比较简单,只需要加密我们的参数集符合系统需要的规则,又不会侵害自身内部构件。一般都是采纳StringEscapeUtils of Apache Commons project 。

另一种方式是采用JSTL能够被系统渲染,类似于<,>,&,’,” 等进行转换

<div>A's comments</div>
<div>
<c:out value="${comments}" escapeXml="true" />
</div>

 

你可能感兴趣的:(js,filter,xss)