目录
一、跨站脚本漏洞(XSS)概述
● XSS漏洞一直被评估为Web漏洞中危害较大的漏洞,在OWASP TOP的排名中一直属于前三的江湖地位。
● XSS是一种发生在Web前端的漏洞,所以危害的对象也主要是前端用户。
● XSS漏洞可以用来进行钓鱼攻击、前端js挖矿、用户cookie获取。甚至可以结合浏览器自身的漏洞对用户主机进行远程控制等。
二、跨站脚本漏洞概述-XSS(窃取cookie)攻击流程
三、跨站脚本漏洞常见类型
危害:存储型 > 反射型 > DOM型
● 反射型
交换的数据一般不会被保存在数据库里面,一次性,所见即所得,一般出现在查询类页面等。
● 存储型
交换的数据会被保存在数据库里面,永久性存储,一般出现在留言板,注册等页面。
● DOM型
不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性也属于反射型。
四、XSS漏洞形成的原因
形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格,导致 "精心构造" 的脚本输入后,在输到前端时被浏览器当作有效代码解析执行从而产生危害。
五、跨站脚本漏洞测试流程
①在目标站点上找到输入点,比如查询接口,留言板等;
②输入一组 "特殊字符+唯一识别字符" ,点击提交后,查看返回源码,是否有做对应的处理;
③通过搜素定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行结束js的条件(构造闭合);
④提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XSS漏洞;
TIPS:
1.一般查询接口容易出现反射型XSS,留言板容易出现储存型XSS;
2.由于后台可能存在过滤措施,构造的script可能会被过滤掉,而无法生效,或者环境限制了执行(浏览器);
3.通过变化不同的script,尝试绕过后台过滤机制;