使用apache.commons.lang3.StringEscapeUtils 过滤'<' '>' '&' 字符注入,防御恶意HTML注入攻击

来源:互联网 发布:apache 负载压力测试 编辑:程序博客网 时间:2024/06/08 19:48

跨站脚本XSS又叫CSS (Cross Site Script)。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的,例如:获取受害者的会话标识以冒充受害者访问系统(具有受害者的权限),还能够轻松地强迫用户的浏览器发出非故意的HTTP请求,如诈骗性的电汇请求、修改口令和下载非法的内容等请求。


对于不可信的输入可以采用  apache.commons.lang3.StringEscapeUtils 对输入字符串进行过滤,将'<' '>' '*' 三个字符转换成html编码格式  &lt;  &amp; &gt. 防止而已的HTML注入攻击:

import org.apache.commons.lang3.StringEscapeUtils;public class XSStest{    public static void main(String[] args)    {        String s = "<alert>(123)(*&^%$#@!)</alert>";        s = StringEscapeUtils.escapeHtml4(s);                System.out.println(s);    }}

这样输出是: &lt;alert&gt;(123)(*&amp;^%$#@!)&lt;/alert&gt;

可以有效的防止恶意的页面跳转,alert弹框。 

0 0