跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意的Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
基本介绍
- 中文名:跨站脚本攻击
- 外文名:XSS
- 全称:Cross Site Scripting
- 类型:攻击代码
种类
XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程式自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。
'http://www.xss.tw/2408'

另一类则是来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标伺服器的管理员打开。
XSS分为:存储型和反射型
存储型XSS:存储型XSS,持久化,代码是存储在伺服器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那幺这些代码将储存到伺服器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie(虽然还有种DOM型XSS,但是也还是包括在存储型XSS内)。
反射型XSS:非持久化,需要欺骗用户自己去点击连结才能触发XSS代码(伺服器中没有这样的页面和内容),一般容易出现在搜寻页面。
防範措施
XSS漏洞是Web应用程式中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,那幺就存在XSS漏洞。这个利用XSS漏洞的病毒之所以具有重要意义是因为,通常难以看到XSS漏洞的威胁,而该病毒则将其发挥得淋漓尽致。
工作流程
1)恶意用户,在一些公共区域(例如,建议提交表单或讯息公共板的输入表单)输入一些文本,这些文本被其它用户看到,但这些文本不仅仅是他们要输入的文本,同时还包括一些可以在客户端执行的脚本。如:

<script>
this.document = "*********";
</script>
2)恶意提交这个表单
3)其他用户看到这个包括恶意脚本的页面并执行,获取用户的cookie等敏感信息。