ISA正则化的含义
来源:互联网 发布:datacolor软件下载 编辑:程序博客网 时间:2024/05/09 14:27
ISA发布WEB站点无法访问二级页面(12217)
2009-05-22 20:27:08
标签:12217 httpfilter 正则化 高位字符 [推送到技术圈]
发布ISA后端的WEB,外端测试WEB首页正常,某些二级页面无法显示。IE返回错误信息:12217,the request was rejected by the http filter.
查看ISA日志,发现提示信息一样。
排查思路:仔细观察URL,发现字符串里边带有action=%C2%DB%CC%B3%D5%B9%C7%F8,这是汉字的utf-8编码。突然记起来,发布的服务器中http筛选器里边对于汉字这种高位字符默认是会过滤掉的。为了保险起见,BAIDU一下,正解!
立即动手,去掉HTTP筛选器里边的阻止高位字符选项。
问题解决!
原理:
阻止高位字符:高位字符包含双字节字符集(Double-ByteCharacter Set,DBCS)字符或Latin1字符的URL会被阻止。这可能会影响到一些方案,如 Microsoft Outlook® Web Access 发布、Microsoft SharePoint® Portal Server 发布,以及满足下列条件的任何方案:GET 请求所传递的参数包含双字节字符集中的某个字符。
补充:
还有一个验证正则化:指的是WEB服务器接收URL经过编码的请求。一般来说,HTTP请求中的非英语字符都会使用unicode编码,比如空格,在URL被编码之后变成%20,还有些常见的例子(/|%2f,/|%5c,?|%3f,%|%25)标准化是将URL经过编码的请求解码的过程。因为%本身就是要编码的URL的一部分,因此攻击者可能想服务器提交一个实际上经过双重编码的URL请求。如果启用验证正则化,则HTTP筛选器会将URL标准化两次。如果第一次标准化后的URL和第二次标准化的URL不一样,则筛选器将拒绝该请求。
验证正则化举例:(APACHE遍历目录漏洞)
攻击URL:../%3f.jsp
实际解析成:../?.jsp
普通防火墙的规则写成这样:过滤?.jsp和%3f.jsp
攻击者变换编码:../%253f.jsp
普通防火墙失去作用
正则化对于这种攻击的检查过程:
对于攻击者变化后的编码检查过程:
攻击者变换编码:../%253f.jsp -->一次检查结果:../%3f.jsp
攻击者变换编码:../%253f.jsp -->二次检查结果:../?.jsp
对比两次检查结果:不匹配。动过:丢弃
有人会问:如果攻击者多次变换编码,那ISA的正则化只进行两次,会不会有遗漏呢?
答案是不会!我们继续上一个例子来分析:
现在攻击者的URL升级到第三版:../%25253f.jsp
正则化对于这种攻击的检查过程:
对于攻击者变化后的编码检查过程:
攻击者变换编码:../%25253f.jsp -->一次检查结果:../%253f.jsp
攻击者变换编码:../%25253f.jsp -->二次检查结果:../%3f.jsp
对比两次检查结果:不匹配。动过:丢弃
总结:对于验证正则化和阻止高位字符。按照我本人的理解方式是这样的:正则化是对URL中的特殊字符进行编码检查。阻止高位字符是对URL中经过编码的汉字或朝鲜字体等DBCS字符进行过滤。
- ISA正则化的含义
- 正则表达式的含义
- 正则表达式 ? 的含义
- ruby 正则表达式的含义
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- 正则化、归一化含义解析
- ...isa错误的解决办法
- class 的isa指针
- 神秘的 isa 指针
- isa指针的理解
- js 实现今天的上一周和下一周
- 2010.03.18
- 免安装Oracle客户端使用PL/SQL for Oracle9i ,10g,11g
- Python安装MySQLDb模块的种种问题及解决
- 锚点定位和值
- ISA正则化的含义
- Castle ActiveRecord 学习之 .net快速开发 (1)
- Symbian中的iScanCode和iCode(转)
- ARRAYLIST VECTOR LINKEDLIST 区别与用法
- ISA Server 客户端类型
- 用世界丈量自己的容器
- 感恩的心
- inno setup 功能
- 在Android读写XML(上)