一、 XSS跨站脚本的定义
1. XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为 XSS.
2. XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
二、 XSS跨站脚本的特点和泛滥的原因
1. XSS跨站脚本的特点
XSS最大的特点就显能注入恶意的HTML/JavaScript代码到用户浏览的网页上,从而达到物特用户会话的目的。由于HTML代码和客户端 javaScript脚本能在受害者主机上的浏览器任意执行,这样等同于完全控制了Web客户端的逻辑,在这个基础上,黑客或政击者可以轻易地发动各种格样的攻击。
2. XSS脚本泛滥的原因
- Web浏览器本身的设计是不安全的.
- Wb应用程序的输入和输出过程中没有做好安全防护。
- 应用开发团队的程序员之间的水平参差不齐,很少有人受过正规的安全培训
- 不管是开发人员还是安全工程师,很多都没有真正意识到XS5漏洞的危害,导致这类漏洞普遍受到忽视
- XSS技术的运用灵活多变,要做到完全防御是一件相当困难的事情,
- 随着Web2.0的流行,网站上交互功能越来越丰富,于是黑客也就有了更广阔的空间发动XSS攻击
三、 XSS跨站脚本的危害
XSS可能会给网站和用户带来的危害简单概括如下:
- 网络钓鱼:
- 窃取用户cookiesi资料
- 劫持用户(浏览器)会话
- 强制弹出广告页面、刷流量等:
- 网顶挂马:
- 进行恶意操作
- 进行大量的客户端攻击
- 获取客户端信息:
- 控制受害者机器向其他网站发起攻击:
- 结合其他漏洞实施进一步作恶
- 提升用户权限:
- 传播跨站脚本蠕虫等:
四、 XSS跨站脚本的分类
1. DOM型
这种类型则是利用非法输入来闭合对应的html标签。比如,有这样的一个a标签:<a href-'$var'></a>乍看问题不大,可是当Svar的内容变为'onclick='alert(/xss0/∥,这段代码就会被执行。
2. 存储型
这种类型的XSS,危害比前一种大得多。它的相关源代码存放于服务器,用户访问该页面的时候触发代码执行。比如一个攻击者在论坛的楼层中包含了一段JavaScript代码,并且服务器没有正确进行过滤输出,那就会造成浏览这个页面的用户执行这段javaScript代码.
3. 反射型
一般来说这种类型的XSS,需要攻击者提前构造一个恶意链接,来诱使客户点击,比如这样的一段链接:www.any.com/?params:=<script>alert(/xss/)</script>