安全-xss认识

一、xss检测:

1.XSS漏洞分类:
1.反射型
非存储型,就是通过get或者post请求时,被后端处理过数据,并且响应到前端页面上
1.1 反射型(xss)特点:
XSS代码常常出现在URL请求中,当用户访问带有XSS代码的URL请求时,服务器端接收请求并处理,
然后将带有XSS代码的数据返回给浏览器,浏览器解析该段带有XSS代码的数据并执行,整个过程就像一次反射,故称为反射型XSS.
1.2漏洞的利用步骤:
第一步:因为这里前端代码做了文字长度的限制,所有按 F12 把文字长度加长.
第二步:进行测试 查看是否弹框(如果弹框,则有XXS漏洞的存在.)
第三步:利用 XSS 漏洞,窃取用户 Cookie
1.3常见位置:
URL(如:日期查询参数)、搜索框、查询框

2.存储型
     XSS代码被存储到服务器上的数据库里的某张表的字段里,或者页面,或者某个上传文件里
    2.1存储型XSS特点:
      攻击的特点是提交的恶意内容会被永久存储,因而一个单独的恶意代码就会使多个用户受害,故被称为持久性XSS.
    2.2漏洞的利用步骤:
         第一步:测试存储型(xss)这个一般都是出现在留言板里面的.
         第二步:测试的代码已成功弹框,并且将代码保存在了后面.
         第三步:因为这个是 存储型(xss),所有所有的用户点击这个页面的时候都会弹框.
    2.3常见位置:
       论坛评论、个人信息修改、富文本编辑器
         
         
 3.DOM型
     仅仅在前段页面进行操作的
    3.1DOM型(xss):
         它通常是由于客户端接收到的脚本代码存在逻辑错误或者使用不当导致的。
         比如Javascript代码不正确地使用各种DOM方法(如document.write)和Javascript内部函数(如eval函数),动态拼接HTML代码和脚本代码就容易引发DOM型的跨站脚本攻击.
    3.2漏洞的利用步骤:
         第一步:当我们随便输入一个数字,他就会出现一个链接.
         第二步:我们可以把代码闭合,改成XSS攻击.
         
         
 4.xss盲打
     第一步:在一个留言,把测试代码 留言给后台管理员看.(在这里留言的内容前端是看不到的.)
     其实:XSS盲打不是攻击类型,是一个攻击场景.


 5.如何判断是哪一种XSS
     方法:发送一次带XSS代码的请求,
         若只能在当前返回的数据包里面发现XSS代码,则是反射型;
         若以后这个页面的返回包里面会有XSS代码,则是存储型;
         若在返回包里找不到XSS代码,则是DOM型。
         
         
 6.漏洞形成的根源
     1)服务器对用户提交数据过滤不严
     2)提交给服务器的脚本被直接返回给其他客户端执行
     3)脚本在客户端执行恶意操作 

2.XSS漏洞的危害:
1)窃取用户Cookie,如果用户Cookie被窃取,攻击者可以不通过密码,而直接登录用户账户,
2)使用XMLHttpRequest构造模拟用户请求操作.使得攻击者具有恶意操纵数据的能力,包括读取、更改、添加、删除;
3)XSS钓鱼攻击
4)用户PC信息探测收集器
5)XSS蠕虫攻击等.

3.XSS漏洞的防御:
1)于后台可能存在过滤措施,构造的script可能会被过滤掉,而无法生效或者环境限制了执行.(浏览器)
2)可在cookie中设置httponly.(浏览器禁止页面的js访问带有httponly属性的cookie)
3)xss filter.(检查输入,设置白名单方式)
4)输出检查.(编码,转义,常用编码:html编码,js编码,16进制等)
5)针对不同位置的输出,使用不同的处理方式.
6)处理富文本.header中使用content-Sencurity-Policy字段,规定请求js的域名白名单.(CSP策略)
7)工具检测(常用工具 AVWS 、burpsuite等;还有一些专门针对XSS漏洞的检测工具,如:XSSer、XSSF(跨站脚本攻击框架)、beff等)
8)手工检测(手工检测重点是要考虑数据输入的地方)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容