XSS小记

作者: vermouth_Fee | 来源:发表于2017-09-10 19:40 被阅读0次

大家都说XSS是一门又热门又不太受重视的Web攻击手法,因为其耗时间、有一定几率不成功、没有相应的软件来完成自动化攻击、是一种被动的攻击手法等。但是由于XSS攻击成本不高且不易被检测到,而且服务端安全问题越来越被重视,XSS攻击在客户端方面还是比较受欢迎的。

XSS攻击:跨脚本攻击。是最常见的一种web安全漏洞,其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。

XSS主要分为三类:反射型XSS、存储型XSS和DOM-XSS。

反射型XSS:主要做法是将脚本代码加入URL地址的请求参数里,请求参数进入程序后在页面直接输出,用户点击类似的恶意链接就可能受到攻击。

存储型XSS:主要是应用程序从数据库中查询数据,在页面中显示出来,攻击者在相关页面输入恶意的脚本数据后,用户浏览此类页面时就可能受到攻击。

DOM-XSS:它和其他两种的区别是,DOM-XSS的XSS代码不需要服务器解析响应的直接参与,触发XSS靠的就是浏览器端的DOM解析,可以认为完全是客户端的事情。

在我们node项目中,选择用xss来做基础的过滤,使用方式如下:

      安装: npm install xss

      使用方式: var xss = require('xss'); var html = xss('<script>alert(1)</script>');  console.log(html);

但是实际过程中,还是存在很多情况是过滤不到的,比如在这种情况下:

    当参数经过编码后:2%27%2Balert%2817064%29%2B%27 ('2'+alert(17064)+'') 就可以躲过xss的过滤。

    那么遇到这种情况应该怎么处理呢?

由于我遇到的情况是出现在纯数字参数上,所以我的处理方式是:先encode 然后过滤非纯数字的值。

        encodeURLComponent(xss('需要过滤的参数'));

        /^[0-9]*$/.test('参数') ?  '参数' :'默认值'

因为我之前对这方面也没有特别关注,可能想到的这个不是很好的处理方式,如果大家有更好的方式,希望不吝赐教!

相关文章

  • 小记xss

    Xss跨站脚本攻击:是一种经常出现在web应用程序当中的计算机安全漏洞,由于web应用程序对用户输入过滤不足而导致...

  • XSS小记

    大家都说XSS是一门又热门又不太受重视的Web攻击手法,因为其耗时间、有一定几率不成功、没有相应的软件来完成自动化...

  • 跨站攻击脚本-XSS

    XSS: Cross Site Scripting XSS 概念 XSS 分类 反射型xss攻击图示 XSS 攻击...

  • XSS payload.

    alert('XSS') alert("XSS") alert('XSS') alert("XSS") S...

  • test

    alert('xss')alert('xss') alert('xss')

  • Django中xss和静态文件的引用(十二)

    一、xss(跨域脚本攻击)的基本介绍 1、xss分类: 反射型xss 存储型xss 2、xss的概念 XSS攻击全...

  • XSS--LOG-1

    XSS总结: xss分为三种,反射型xss,DOM型XSS及存储型XSS,不同类型的XSS的危害不同,有兴趣的...

  • 第三章 XSS 攻击

    要点 XSS 攻击 XSS 防护 一、 XSS攻击 XSS攻击 (Cross-Site Scripting,跨站脚...

  • XSS 与 CSRF 两种跨站攻击

    XSS XSS:跨站脚本(Cross-site scripting) XSS:脚本中的不速之客 XSS 全称“跨站...

  • 网络安全必学知识点之XSS漏洞

    xss漏洞小结 一、初识XSS 1、什么是XSS XSS全称跨站脚本(Cross Site Scripting),...

网友评论

      本文标题:XSS小记

      本文链接:https://www.haomeiwen.com/subject/tvlpjxtx.html