XSS漏洞依照攻击利用手法的不同,有下面三种类型:
类型A,本地利用漏洞,这样的漏洞存在于页面中
client脚本自身。其攻击步骤例如以下所看到的:
Alice给Bob发送一个恶意构造了Web的
URL。
Bob点击并查看了这个URL。
恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。
具有漏洞的HTML页面包括了在Bob电脑本地域运行的JavaScript。
Alice的
恶意脚本能够在Bob的电脑上运行Bob所持有的权限下的命令。
类型B,反射式漏洞,这样的漏洞和类型A有些类似,不同的是Web
client使用Server端
脚本生成页面为用户提供数据时,假设未经验证的用户数据被包括在页面中而未经
HTML实体编码,client代码便可以注入到
动态页面中。其攻击步骤例如以下:
Alice常常浏览某个站点,此站点为Bob所拥有。Bob的站点执行Alice使用username/password进行登录,并存储敏感信息(比方银行帐户信息)。
Charly发现Bob的网站包括反射性的XSS漏洞。
Charly编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。
Alice在登录到Bob的网站后,浏览Charly提供的URL。
嵌入到URL中的
恶意脚本在Alice的
浏览器中运行,就像它直接来自Bob的server一样。此
脚本盗窃敏感信息(授权、信用卡、帐号信息等)然后在Alice全然不知情的情况下将这些信息发送到Charly的Web网站。
类型C,存储式漏洞,该类型是应用最为广泛并且有可能影响到Webserver自身安全的漏洞,
骇客将攻击
脚本上传到Webserver上,使得全部訪问该页面的用户都面临信息泄漏的可能,当中也包含了Webserver的
管理员。其攻击步骤例如以下:
Bob拥有一个Web网站,该网站同意用户公布信息/浏览已公布的信息。
Charly注意到Bob的网站具有类型C的XSS漏洞。
Charly公布一个热点信息,吸引其他用户纷纷阅读。
Bob或者是不论什么的其他人如Alice浏览该信息,其会话cookies或者其他信息将被Charly盗走。
类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用。
转自百度百科