10 xss攻击

  1. 什么是XSS攻击?
    XSS(Cross Site Scripting)攻击全称跨站脚本攻击.
    通俗的来说就是我们的页面在加载并且渲染绘制的过程中,如果加载并执行了意料之外的程序或代码(脚本、样式),就可以认为是受到了 XSS攻击.
    多发生于前段脚本注入

  2. XSS攻击的危害包括
    1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
    2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
    3、盗窃企业重要的具有商业价值的资料
    4、非法转账
    5、强制发送电子邮件
    6、网站挂马
    7、控制受害者机器向其它网站发起攻击

  3. xss模拟钓鱼网站:
    新建了一个京东的网站。
    利用script脚本,在用户访问京东的时候,在script的脚本中使用location=""xxx.xxx.com;链接到钓鱼网站,从而获取到用户的username以及password等。

  4. 解决方案:
    a. 新建过滤器,过滤所有的请求
    b.将脚本的标签进行处理

    public class XssFiter implements Filter {

    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
    throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    XssAndSqlHttpServletRequestWrapper xssRequestWrapper = new XssAndSqlHttpServletRequestWrapper(req);
    chain.doFilter(xssRequestWrapper, response);
    }

    public void destroy() {

    }

}

XssAndSqlHttpServletRequestWrapper

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;

/**

  • 防止XSS攻击
    */
    public class XssAndSqlHttpServletRequestWrapper extends HttpServletRequestWrapper {
    HttpServletRequest request;
    public XssAndSqlHttpServletRequestWrapper(HttpServletRequest request) {
    super(request);
    this.request = request;
    }
    @Override
    public String getParameter(String name) {
    String value = request.getParameter(name);
    System.out.println(“name:” + name + “,” + value);
    if (!StringUtils.isEmpty(value)) {
    // 转换Html
    value = StringEscapeUtils.escapeHtml4(value);
    }
    return value;
    }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值