XSS攻击防御技术白皮书
来源:asp之家 发布时间:2009-12-24 16:32:00
1 背景知识
1.1 什么是XSS攻击
XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。
数据来源:2007 OWASP Top 10的MITRE数据
图1
注:OWASP是世界上最知名的Web安全与数据库安全研究组织
从这张图中我们看到,在2007年OWASP所统计的所有安全威胁中,跨站脚本攻击占到了22%,高居所有Web威胁之首。
XSS攻击的危害包括
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击
1.2 XSS漏洞的分类
XSS漏洞按照攻击利用手法的不同,有以下三种类型:
类型A,本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。其攻击过程如下所示:
Alice给Bob发送一个恶意构造了Web的URL。
Bob点击并查看了这个URL。
恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。
具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。
Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。
类型B,反射式漏洞,这种漏洞和类型A有些类似,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。其攻击过程如下:
Alice经常浏览某个网站,此网站为Bob所拥有。Bob的站点运行Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。
Charly发现Bob的站点包含反射性的XSS漏洞。
Charly编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。
Alice在登录到Bob的站点后,浏览Charly提供的URL。
嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等)然后在Alice完全不知情的情况下将这些信息发送到Charly的Web站点。
类型C,存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。其攻击过程如下:
Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。
Charly注意到Bob的站点具有类型C的XXS漏洞。
Charly发布一个热点信息,吸引其它用户纷纷阅读。
Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charly盗走。
类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用,目前天清入侵防御产品所能防范的XSS攻击包括类型B和类型C。
猜你喜欢
- 如果你是一个网络新新人类,想必一定知道“火星文输入法”这个QQ聊天必备软件。使用它可以方便的输入或转
- docker使用1. docker ps 查看运行中的容器2. docker images 查看docker镜像3. docker rm i
- 环境:主机Win7、VMware Workstation 6.5.3、虚拟机Ubuntu10.04。一、桥接的基本原理配置成桥接网络连接模式
- 3月1日,百度即时通讯软件百度HI正式内测,百度CEO李彦宏在其博客上呼吁“大家很快就可以一起high了”的博日志,目标直指微软的MSN和腾
- 如要在不同树林里访问资源,系统管理员须手动配置信任关系。Windows 2000具有在不同树林的域之间配置单向非传递性信任的功能。你必须在不
- 经发现,虽然wget遵循 robots.txt 规则,但是那个还是可以绕过去,现在把我自己使用的屏蔽方法分享给大家:1. 屏蔽下载任何文件.
- 一、序言现在很多网站对用户的访问权限进行了严格的限制,用户在访问某些资源时需要给出“用户名/口令"来确认自己的身份。目前,使用最多
- 本安装及设置教程适用于使用Windows2003为操作系统的服务器,目的是让服务器支持常见网络编程语言包括ASP、PHP、.Net1.1、.
- 月光博客最擅长这个,我们来看看月光最近的这类帖子:十个常用的S60手机软件十大经典JAVA手机游戏8个有用的WP的SQL语句十个避免RSS订
- 1. 设定个容易记住的网址2. 在流量高的博客上留回应 - 只要你能够发表建设性及有见解的回应,相信其他读者也会希望来你的博客看看你有其他什
- 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当
- 李开复更忙了。9月26日凌晨1点到重庆,上午拜访重庆市官员,下午接受本报记者专访,同日深夜则奔赴上海—&mdas
- 下面是一个关键字标签"Keywords"的使用样例:<meta name="keywords"
- 一、什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能: 
- du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,m
- 信息服务器IIS是BACKOFFICE系列产品 * 能最强大、最流行的应用程序,它与整个BACKOFFICE组件一样,IIS也是围绕WINDO
- 关于服务器安全,新手最常遇到的一个问题就是:该选择哪种防火墙?面对种类如此繁多的服务器防火墙,在选择的时候,是考虑厂商的知名度还是防火墙本身
- 2020年4月23日,今天Windows 上的 Ubuntu 20.04 允许使用 Ubuntu Terminal 并运行 Ubuntu 命
- iPage主机是国外一家顶级主机服务商,从1998年开始提供主机服务,拥有丰富的行业经验,同时他们提供优惠的价格,快速的连接速度等优越的条件
- 新年的钟声在耳际回响,东方国度的人们最早引来了新年的曙光!2008年是收获的一年,中华儿女心系祖国,在党的正确领导下,一步一个脚印,努力拼搏