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

跨站脚本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弹框。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值