下载此文档

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


文档分类:IT计算机 | 页数:约33页 举报非法文档有奖
1/33
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/33 下载此文档
文档列表 文档介绍
Web应用程序中的字符集攻击
By 80sec
目录
为什么要讨论字符集攻击
字节流和数据的本质
web架构层次
web数据处理流程
字符集处理过程中可能出现的安全问题
web各个层中的字符集攻击
其他可能出现的攻击
在应用程序中避免出现字符集问题
为什么要讨论字符集攻击
在某些东方国家里这种攻击变得越来越普遍
很多程序人员对这种攻击还不是很了解
通过分析受字符集漏洞影响的各类WEB程序及其实际应用,我们可以更深入的了解和修正此类安全问题
字节流和数据的本质
字节流本身是一段无意义的数据,在计算机里由二进制表示,程序在处理字节流的时候,必须按照一定的规则来判断数据的意义,这个规则就是字符集。譬如同样的一个HTML,在不同的字符集情况下可能会显示乱码,就是理解数据的方式不对,导致问题发生(最终的意义发生改变),这种问题某种情况下就会导致漏洞
三个阶段的编码
单字节编码(Single Byte Character Set/SBCS包括ascii和一些控制字符)
多字节编码(MBCS/DBCS)
国际化编码(Unicode如utf-8等等)
WEB架构层次
Client[Browser]
IDS/WebFirewall
Webserver
Database
WebApp(PHP/ ASP)
同样的数据流程会反向走一次
Opreation System
File System
一个正常的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-%>

Web应用程序中的字符集攻击 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数33
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198617
  • 文件大小0 KB
  • 时间2014-10-18