4月15日,在微软补丁日上微软公布了多个高危漏洞,其中一个MS15-034漏洞影响面最广,会造成IIS服务器蓝屏崩溃,特殊环境下或导致信息泄露。阿里巴巴安全研究实验室着重分析这一高危漏洞以及给国内互联网带来的影响。 资料 本次漏洞测试所使用网上流传的POC进行修改。 测试环境 在Win7 32 + IIS 7环境下,使用前述的POC将可以使得Win7蓝屏从而导致IIS被远程拒绝服务。 漏洞原因 经过简单的分析,HTTP!UlParseHeader负责处理客户端发送的HTTP头部数据,本次漏洞出现在对Http Header 中”Range”字段的处理。 “Range”字段由HTTP!UlpParseRange负责解析,在该函数中有如下代码: 以前述的POC为例,使用的range字段为: Range: bytes=2-18446744073709551615", 即Range.start =2,Range.Length=18446744073709551615-Range.start+1=0xfffffffffffffffe,并将该结构保存至HttpParser对象结构中(偏移0x5B8)。(网上流传的POC构造的Range.Start为0,导致这里计算出来的Range.Length会溢出) 接着在函数UlAdjustRangesToContentSize中,相关代码会将Range.Length与http get所请求的文件大小进行对比,若Range.Length + Range.Start大于HTTP请求文件的真实大小, Range.Lenth将会被修复为正确的合法长度。在本例中,Range.Length已被构造为0xfffffffffffffffe,Range.Length+Range.Start将会发生溢出,从而可以绕过这个重置的代码。 HTTP.sys会使用UlBuildFastRangeCacheMdlChain来缓存请求的数据,并使用IoBuildPartialMdl来绑定MDL。 VOID IoBuildPartialMdl(__in PMDL SourceMdl, __inout PMDL TargetMdl, __in PVOID VirtualAddress, __in ULONG Length ); 本次测试中,IoBuildPartialMdl的Length参数已被修改为超长数值,直接导致系统蓝屏。 若特殊环境之下,超长Length映射成功,则可能导致信息泄露。 补丁比对 借助IDA的patchdiff2,对http.sys进行补丁比对,得知补丁进行了更改的函数如下所示: 查看修补情况,发现修补后的代码添加了RtlULongLongAdd来防止前述溢出的问题。 HTTP!UlAdjustRangesToContentSize的比较结果如下: 其中补丁还用同样的方法修补了另一个整数溢出的地方HTTP!UlpDuplicateChunkRange。 小结 目前,阿里云安全已能够提供安全无害的扫描检测手段和防御手段。阿里安全研究实验室建议使用IIS服务器的用户尽快安装微软最新补丁。同时,阿里云云盾也已经能够有效防御该漏洞攻击威胁。 提醒广大企业和开发者:尽快安装微软官方补丁。补丁安装完毕后,要及时重启服务器。 参考文章: [1] http://pastebin.com/ypURDPc4 [2] https://github.com/rapid7/metasploit-framework/pull/5150 [3] http://blog.beyondtrust.com/the-delicate-art-of-remote-checks-a-glance-into-ms15-034 |
正在阅读:阿里安全研究实验室:IIS服务器漏洞分析阿里安全研究实验室:IIS服务器漏洞分析
2015-04-30 18:37
出处:其他
责任编辑:shengyongzhen
热门排行
IT百科
热门专题
网络设备论坛帖子排行
最高点击
最高回复
最新
-
88次
丰润达首推48口万兆PoE交换机引领万兆安防监控
1 -
79次
哪种网线适合PoE供电?教你挑网线
2 -
50次
无线AP穿墙王-丰润达RD-W68AP(效果杠杠)
3 -
38次
最省光纤的交换机-丰润达PON-PoE交换机
4 -
35次
哪种网线适合PoE供电?教你挑网线
5 -
35次
丰润达推出全新24口全千兆网管型PoE交换机
6 -
31次
安防监控工程中的三大供电方式如何选择?
7 -
28次
最省光纤的交换机-丰润达PON-PoE交换机
8 -
28次
安防走进万兆时代,丰润达首推出安防领域万兆交换机
9 -
26次
不得不说的DF5700东风系列万兆交换机
10
汽车资讯
最新资讯离线随时看
聊天吐槽赢奖品