欢迎来到天天文库
浏览记录
ID:9411302
大小:54.00 KB
页数:5页
时间:2018-04-30
《xss攻击防御技术白皮书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、XSS攻击防御技术白皮书~教育资源库 1、什么是XSS攻击 XSS攻击:跨站脚本攻击(CrossSiteScripting),为不和层叠样式表(CascadingStyleSheets,CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。XSS是一种经常出现在dash;例如同源策略(sameoriginpolicy)。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的缓冲区溢出攻击,而JavaScript是新型的ShellCode。 数据:2007OITRE数据 注:OL页面并将其安
2、装在Bob电脑上。 具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。 Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。 类型B,反射式漏洞,这种漏洞和类型A有些类似,不同的是L实体编码,客户端代码便能够注入到动态页面中。其攻击过程如下: Alice经常浏览某个网站,此网站为Bob所拥有。Bob的站点运行Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。 Charly发现Bob的站点包含反射性的XSS漏洞。 Charly编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice
3、。 Alice在登录到Bob的站点后,浏览Charly提供的URL。 嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等)然后在Alice完全不知情的情况下将这些信息发送到Charly的GSRC=javascript:alert('XSS');> 躲避方法2)在javascript中加入#x09编码字符,得到<IMGSRC=jav#x09;ascript:alert('XSS');> 躲避方法3)在javascript中加入字符,得到
4、 <IMGSRC=jav#x0A;ascript:alert('XSS');> 躲避方法4)在javascript中的每个字符间加入回车换行符,得到<IMGSRC=jrnarnvrnrnarnsrncrnrrnirnprntrn:alert('XSS');> 躲避方法5)对javascript:alert('XSS')采用完全编码,得到12下一页友情提醒:,特别!<IMGSRC=#x6A#x61#x76#x61#x73#x63#x72#x69#x70#x74#x3A#x61#x6C#
5、x65#x72#x74#x28#x27#x58#x53#x53#x27#x29> 上述方法都可以很容易的躲避基于特征的检测。而除了会有大量的漏报外,基于特征的还存在大量的误报可能:在上面的例子中,对javascript/kkk.asp?id=2345这样一个URL,由于包含了关键字javascript,也将会触发报警。 基于代码修改的防御 和SQL注入防御一样,XSS攻击也是利用了Web页面的编写疏忽,所以还有一种方法就是从Web应用开发的角度来避免: 步骤1、对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接
6、受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。 步骤2、实现Session标记(sessiontokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。 步骤3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTPonly的cookie。 当然,如上操作将会降低Web业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。并且考虑到很少有Web编码人员受
7、过正规的安全培训,很难做到完全避免页面中的XSS漏洞。 正是由于传统检测方法存在诸多缺陷,国内厂商(如启明星辰天清入侵防御系统)并未采用这一方法,而是采用了基于攻击手法的行为检测方法,其分析流程如下图所示, 首先对各种场景下的XSS攻击样本库进行整理和分类,并建立起XSS攻击行为特征库,在实时攻击检测阶段,对所有可能实现XSS攻击的数据,如HTTP-Refere、URL、COOKIE、表单数据等,进行数据收集和初步分析,存在注入脚本的用户提交信息才进入下一步的XSS攻击判断。 这种分析方法有以下几点优势: A:采用行为特征库而非数
此文档下载收益归作者所有