漏洞简介
跨站脚本攻击又名XSS,全称为Cross Site Scripting,为了区别层叠样式表(CSS)所以简称XSS。XSS漏洞是指恶意攻击者向Web界面插入恶意的Script代码,当被攻击者访问该界面时触发恶意的Script代码,从而完成恶意攻击者的攻击。
XSS漏洞是Web应用系统中出现频率最多的漏洞之一,图1为OWASP项目提出的”十大Web应用安全风险”,简称为OWASP Top 10。OWASP Top 10对安全问题从威胁和脆弱性进行可能性分析,并结合技术和商业影响的分析,输出目前一致公认、最严重的十类web应用安全风险排名。可以看到图片中分别为2013年版以及2017年版,XSS漏洞分别出现在A3以及A7,虽然较2013版排名有所滑落,但是仍挤在十大Web应用安全风险之列。
(图 1)
漏洞风险
XSS漏洞可导致用户的认证信息被盗,被钓鱼,挂马,还可以组合CSRF漏洞造成更严重的漏洞,如控制业务数据增删改查等等,当然也可以配合其他漏洞进行更深层次的渗透攻击,内网渗透等等。
漏洞分类
首先我们介绍下常见的XSS漏洞的分类,通常分为三大类型,反射型XSS,存储型XSS,以及DOM型XSS。
反射型XSS:非持久化攻击,恶意攻击者在url链接构造好攻击链接,但是需要引导被攻击者去访问触发攻击脚本,当被触发后不可二次触发。
存储型XSS:持久化攻击,恶意攻击者通过Web界面的可编辑存储功能向服务器插入恶意代码。如留言板,个人信息编辑功能等等。每当被攻击者访问该功能界面都会触发恶意代码。
DOM型XSS:DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。允许程序或者脚本动态的访问或者更新文档内容,经过DOM解析触发XSS攻击,DOM型XSS不同与反射型XSS和存储型XSS,DOM型XSS不需要服务端参与解析响应,只是通过浏览器端的DOM进行解析。<