但行好事
莫论前程❤

使用StringEscapeUtils 防御跨站脚本XSS攻击

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

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

commons-lang3的maven导入

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.7</version>
</dependency>

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弹框。

赞(1) 打赏
未经允许不得转载:刘鹏博客 » 使用StringEscapeUtils 防御跨站脚本XSS攻击
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏