微软放弃wp10系统了吗PG了吗,现在TP能修改X64

残酷魔法天使紫苑_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
残酷魔法天使紫苑
残酷魔法天使紫苑种子
我有更好的答案
残酷魔法天使紫苑
2条折叠回答
为您推荐:
其他类似问题
您可能关注的内容
紫苑的相关知识
换一换
回答问题,赢新手礼包浅谈“漏洞分析”,MS15-034HTTP远程代码执行漏洞分析【linux吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:182,924贴子:
浅谈“漏洞分析”,MS15-034HTTP远程代码执行漏洞分析收藏
浅谈“漏洞分析”,MS15-034HTTP远程代码执行漏洞分析本文来源于360技术博客,360安全卫士技术博客,安全盒子,核攻击博客。醉翁之意不在酒。MS15-034/CVE- HTTP远程代码执行漏洞分析前言在4月的补丁日,微软通过标记为“高危”的MS15-034补丁,修复了HTTP.SYS中一处远程代码漏洞CVE-。据微软公告()所称,当存在该漏洞的HTTP服务器接收到精心构造的HTTP请求时,可能触发远程代码在目标系统以系统权限执行。这是对于服务器系统影响不小的安全漏洞,任何安装了微软IIS 6.0以上的的Windows Server 2008 R2/Server 2012/Server 2012 R2以及Windows 7/8/8.1操作系统都受到这个漏洞的影响。从微软的公告致谢来看,这个漏洞是由“Citrix Security Response Team”(美国思杰公司的安全响应团队)发现,从网上公开的信息来看,Citrix公司是一家从事云计算虚拟化、虚拟桌面和远程接入技术领域的高科技企业。这也引发了Twitter上很多关于该漏洞是否是由针对Citrix公司的APT攻击中发现的疑问,而就在微软发布补丁的不到12个小时内,便有匿名用户在Pastebin网站上贴出了针对这个漏洞可用的概念验证攻击代码,似乎也印证了这一点。笔者和360Vulcan的小伙伴们获得该信息后,就开始针对其进行深入的分析,并在12小时内初步分析清楚了漏洞的原理和利用相关信息,下面就将我们分析的一些结果分享给大家,以便更好地促进安全社区理解和防御这一高危安全漏洞。漏洞重现结合Pastebin网站上贴出的信息()和微软公告,我们知道这是一个位于HTTP.SYS中的整数溢出漏洞,根据Pastebin网站的python代码,我们知道通过给IIS服务器发送这样格式的HTTP请求,就可以触发(检测)这个漏洞:GET / HTTP/1.1Host: stuffRange: bytes=0-我们直接使用wget或curl工具,也可以直接测试这个漏洞,例如使用如下命令行:wget 127.0.0.1 –debug –header=”Range: bytes=0-〃此处转为十六进制即是 0xFFFFFFFFFFFFFFFF(16个F),是64位无符号整形所能表达的最大整数,那么我们很容易可以想到,这个“整数溢出”必然同这个异常的超大整数有关。Pastebin上POC的作者提供的检测工具代码认为,如上请求包,若IIS服务器返回“Requested Range Not Satisfiable”,则是存在漏洞,否则如果返回”The request has an invalid header name“,则说明漏洞已经修补。在实测中可能很多人也会发现并非如此,针对不同的服务器,这个测试程序很可能导致服务器直接BSOD甚至直接引发VM进程Crash(对于虚拟主机),这是为什么呢?这究竟是发生在何处的什么原因的整数一处呢?在下面的小节中我们将会进一步讲到。漏洞原理分析HTTP.SYS是微软从IIS6.0开始,为了在Windows平台上优化IIS服务器性能而引入的一个内核模式驱动程序。它为IIS及其他需要运用HTTP协议的微软服务器功能提供HTTP请求的接收与响应、快速缓存、提高性能、日志等功能服务。更多关于HTTP.SYS的信息,可以参考微软Technet Library中”IIS 6.0 Architecture”中的“HTTP Protocol Stack”一章((v=ws.10).aspx)。 HTTP.SYS提供了两个最重要的功能是Kernel-mode caching 和Kernel mode request queuing,而本次的安全漏洞就出在Kernel mode caching(内核模式缓存)中。这里笔者以Windows 8.1 X86平台上安装的IIS 8.5为例进行分析讲解,这里我们分析的存在漏洞的HTTP.SYS版本号为6.3.,修补后的http.sys版本为6.3.Pastebin上POC代码的匿名作者提到,补丁修补了http!UlpParseRange函数,通过RtlUlonglongAdd函数实现了修补/拦截。从测试代码和函数名上,我们都可以看出这个漏洞同HTTP头中的”Range“域有直接的关系, Range请求是HTTP协议中HTTP客户端用于只获取服务器上文件的某一部分数据的请求域,更多关于Range请求的细节和规范,可以参考RFC 7233 “Hypertext Transfer Protocol (HTTP/1.1): Range Requests”()。这里先简单介绍一下http.sys缓存工作的原理,IIS进程w3wp.exe接收到HTTP请求后,将数据缓存到内核中,并整合HTTP回应头,最后由http.sys组织数据包经由网络内核组件发送出去。请求中包括Ranges对象的指定范围,而缓存中则包含了http文件和大小信息等。我们接下来先来看看这个UlpParseRange函数,看他是否是这个漏洞的根本原因。UlpParseRange的整个代码比较长,这里就不全部贴出了,函数的逻辑很简单,就是从Range bytes=lower-upper(也可以是lower-或-upper形式)中,解析出lower(即读取范围的开始offset)和upper(即读取范围的结束offset)),然后计算要读取的长度,在正常的情况下,upper大于lower,因此长度=upper-lower +1这里如果是测试代码中的例子,lower=0 ,upper=0xFFFFFFFFFFFFFFFF我们看看未修补前的代码是怎么样写的1 PAGE:0009AD2C sub eax, edx 2 PAGE:0009AD2E sbb ecx, edi 3 PAGE:0009AD30 add eax, 1 4 PAGE:0009AD33 mov [esi], eax 5 PAGE:0009AD35 adc ecx, ebx 6 PAGE:0009AD37 mov [esi+4], ecx 通过汇编代码我们可知,这里是将upper先减去lower,再加1,得到两者之间的长度差距(例如 bytes=20-50, 则50-20+1 , 两者之间有31个字节)按照例子里的写法,就是0xFFFFFFFFFFFFFFFF – 0 + 1 , 确实发生了整数溢出,64位无符号整数上溢为0。我们来看修改后的版本:1 PAGE: push ebx 2 PAGE: sub eax, edx 3 PAGE: push 1 4 PAGE: sbb ecx, edi 5 PAGE: push ecx 6 PAGE: push eax 7 PAGE:0009B50A mov ecx, esi 8 PAGE:0009B50C call _RtlULongLongAdd
这里的代码是将upper 先减去 lower,然后再用RtlUlonglongAdd 将结果同1相加,这里RtlUlonglongAdd会做安全性检查,如果相加结果溢出,则会返回STATUS_INTEGER_OVERFLOW.由于测试代码中lower传入的是0,所以这里也发生了溢出并被捕获、阻止,但如果lower != 0,这里压根就不会捕获到整数溢出,这是怎么回事呢?真正出现问题的地方是这里吗?实际上,这可能是POC编写者故意隐藏了一点关键细节: UlpParseRange通过操纵Range参数可以引发整数溢出,也确实被进行了修补,但是并非这个Range数据真正出现问题的地方。我们进一步推测和分析,发现本次漏洞真正利用的地方,而是UlAdjustRangesToContentSize,这个函数用于最终修正Ranges中指定的StartingOffset和Length的合法性。首先UrlpParseRange解析了Range参数并获得StartingOffset和Length后,会将其保存在http请求的对象中,而在解析到对应的缓存后,对比Offset + Length的大小,是否超过要请求的缓存文件数据长度,如果超出了,就要把length裁剪为适合的长度,防止读取超出的数据,见如下代码:01 PAGE:0007FD09 mov eax, [ebp+length_low] 02 PAGE:0007FD0C add eax, dword ptr [ebp+offset_low] 03 PAGE:0007FD0F mov dword ptr [ebp+offset_low], eax 04 PAGE:0007FD12 mov eax, [ebp+length_high] 05 PAGE:0007FD15 adc eax, dword ptr [ebp+offset_high] ;将Length + Offset 06 PAGE:0007FD18 cmp eax,esi = content length ,缓存的实际数据长度,进行对比 07 PAGE:0007FD1A jb short loc_7FD30 08 PAGE:0007FD1C ja short loc_7FD23 09 PAGE:0007FD1E cmp dword ptr [ebp+offset_low], ecx 10 PAGE:0007FD21 jb short loc_7FD30 11 PAGE:0007FD23 12 PAGE:0007FD23 loc_7FD23: 13 PAGE:0007FD23 14 PAGE:0007FD23 sub ecx, [ebp+length_low] ;length = contentlength-offset 15 PAGE:0007FD26 mov eax, esi 16 PAGE:0007FD28 sbb eax, [ebp+length_high] 17 PAGE:0007FD2B mov [edx+4], eax 这里我们看到是一处可利用的整数溢出,Length + offset 如果发生溢出,就会小于contentsize,这里就会跳过这个”adjust”的过程,Length没有得到任何处理和修正,我们成功控制了Length。以例子中的数值为例, length + offset = (0xFFFFFFFFFFFFFFFF + 1 ) + 0 (这个+ 1是前面UlpParseRange添加的) = 0 ,小于contentsize而假设lower不为0,则结果 = lower ,只要结果小于contentsize,也是不会被adjust的。也就是说,UlpParseRange处发生了整数溢出,而在此处导致了安全检查的绕过,同时,如果lower != 0 ,UlpParseRange时不会被触发整数溢出,而是应该在这里得以触发。到这里我们就弄清楚了这个漏洞的触发流程和原理:1.upper(range结束的offset) = 0xFFFFFFFFFFFFFFFF时,UlpParseRange或UlAdjustRangesToContentSize会触发整数溢出,导致绕过UlAdjustRangesToContentSize的Length检查2. Length 可控,但是Length = 0xFFFFFFFFFFFFFFFF – lower(range开始的offset) , 且lower必须要小于要获取目标文件的数据长度contentlength。BSOD的重现和原理看到很多测试攻击程序的研究人员都无法稳定重现BSOD,看Github上的讨论,通过调整lower的数值,有些人可以打蓝Server 2012 R2,有些人就不行,或者换个文件就不行。实际上,我们分析了这个漏洞的原理就可以很清楚的了解其中的规律了,首先一条原则是上面已经说到的lower不能大于请求的content length,例如假设请求iisstart.htm(648Bytes),lower就必须小于647。同时,HTTP请求的处理实际是先通过w3wp发起的进程上下文内http先解析HTTP请求包,组合成紧凑的http回应包后,通过UlSendData-&UxTpTransmitPacket-&UxpTpEnqueueTransmitPacket排入队列,然后再由工作线程UlSendCacheEntryWorker将其发送出去。在这个过程中,如果range指定的数据开始offset小于紧凑的数据包头部的总长度,那么这里在计算最后的发包读取数据时,还会触发一个整数溢出,即0xffffffff(-1,已经被变为32位数)- lower + 1 + header size,如果lower & header size,那么将会导致最后32位整数溢出计算出一个较小的数值,这样导致不会BSOD(如果精确控制响应包大小和文件大小,即使这样还是有可能触发BSOD)因此这里我们让lower 大于 回应包大小,就比较容易可以控制BSOD了这里我使用wget添加头部的方式测试,回应包的长度应该是(针对Windows 8.1 X86)310个字节,也就是说,lower要大于等于310个字节。所以,针对wget得到的响应包大小(309),对iisstart.htm文件(648) 的情况下, lower &= 310 且 &= 647 就可以稳定触发BSOD了,其他的情况需要重新计算这个数值。进一步利用这个漏洞难道只能BSOD吗?说好的远程代码执行呢?再深入看下漏洞触发的细节,看上去似乎不能远程代码执行,但是远程读取服务器内核内存数据是有可能的。在UlpSendCacheEntry-&UlBuildFastRangeCacheMdlChain中,http.sys会为HTTP回应头和缓存来源buffer/length(我们可控)创建MDL,那么,对于我们的超长length,就会创造一个巨大的mdl,接着放入UxTpTransmitPacket的数据包对象中,通过tcpip-&netio,最后解析MDL,将数据最终发出去。此时是可以超过缓存的空间,读取缓存内存往后的数据,如果缓存内存后面是连续的0xffffffffffffffff – lower(4GB?)左右内核内存(通常是X64),就有可能实现信息泄露。不过首先是很难有连续的4G内存,同时通过IIS也很难一下获得如此多的数据,那么只能设法降低这个内存要求:length = 0xFFFFFFFFFFFFFFFF – lower ,且lower & contetnlength才行,我们可以想办法提高content length,达到降低Length的目的,例如在服务器上寻找一个接近4GB大小的文件。还有一个产生较小的Length实现信息泄露的方法,在上一节BSOD里有讲到,就是扩大回应包的数据长度+减小文件大小,利用32位的整数溢出,构造一个比文件大小要大的复制长度,泄露cache buffer后面的内核数据。这需要进一步研究和控制了。分析时间仓促,有任何进一步的利用和错误之处,欢迎讨论指正。Update:
20:15:更新BSOD/信息泄露部分整数溢出细节。Thanks to pgboy.1L并没有被删除,这是个好事。长期以来,各位相比都在烦恼一件事,什么才叫黑客?当然我并不打算鸡汤文了。我直接解释,什么叫漏洞,什么叫白帽子,白帽子在做什么,白帽子在哪里。以1L为例。MS15-034/CVE-MS15-034为微软漏洞编号,已发布的漏洞补丁会被以时间+数量顺序命名CVE-为全球漏洞编号,cve收集整理漏洞poc exp,并命名为统一的漏洞编号,方便学习查找POC 为英文词汇Proof of Concept,这并不是一个黑客用词,Proof of Concept意思是为观点提供证据,poc必须是可以重现的,可以用来证明存在一个漏洞VUL为英文词汇Vulnerability,同样,这仅仅是个英文,可以用来指代漏洞本身EXP为英文词汇Exploit,翻译为利用,漏洞仅仅被证明而不被利用,那么这个漏洞显然没有用。例如,ms12-20,这个网络流传远程利用漏洞,各种exp横行,但是能找到的都是蓝屏poc而已什么是白帽子?白帽子详情可以看百度百科发现漏洞,提交各个漏洞安全中心,协助厂商修复漏洞,并获得荣誉和奖励(包含现金)的被成为白帽子同样,什么是黑帽子?发现漏洞,提交各个漏洞黑市,协助黑市制作EXP,并获得金钱的被成为黑帽子无需太过区分,毕竟警察也会犯罪。什么是白帽子社区?国内最早的我不知道,国内最火的莫过于乌云了,乌云聚集了大量的“黑客”(因为实在不好区分,例如,你发现了某个网站后台地址,这也称为漏洞)白帽子提交漏洞,乌云进行审核,通知厂商,厂商修复漏洞并奖励白帽子,形成良心循环。国内属于白帽子社区和漏洞提交平台的有非常多360 乌云 阿里云 腾讯 百度 金山 以及其他众多漏洞提交平台,数量过多是不是好事,这个目前不得而知为什么我把360排在第一位,因为360有你不了解的一面。我该怎么成为白帽子?这应该是你现在最想问的问题了。首先你应该关注各种安全博客,请不要在说你有一堆国外hack博客,什么hack精神。国内安全博客推荐,自行百度,排名不分前后。说的再多不如去看freebuf 91ri 安全盒子 核攻击 习科 乌云知识库 独自等待-信息安全博客 你可能会说,我看不懂。我只能说,那就别看了,你还是学挖掘机去吧。AD 自由 共享 互助 探索黑客的意义,黑客组吧欢迎你
linux培训选择达内,资深10年linux讲师悉心传授,linux项目实战+设备实操+名企内推.达内linux云计算培训将网络工程与linux运维相结合专门培养高端linux复合型人才.
正在学挖掘机
登录百度帐号推荐应用11:22:57 修改
&&&&&&&&&&&&&&&&&&&&&微软官方发布推土机Windows&7“鸡血补丁”转自&驱动之家&&,微软今天终于官方发布了AMD推土机处理器在Windows&7、Windows&Server&2008&R2系统下的优化补丁,而且一次就是两个KB2645594、KB2646060。AMD表示,针对Windows&8开发版系统的初步测试标明,部分应用程序中推土机处理器的性能可比Windows&7里高出10%,这是因为Windows&8的调度器能够正确识别推土机的架构和核心,Windows&7则不行。&&通过与AMD合作,微软现在将Windows&8调度器的一部分代码移植到了Windows&7系统中,使得后者也能完全发挥推土机架构的特点和性能潜力。注意两个补丁的更新使有顺序的,首先下载、安装调度器更新补丁KB2645594,它能告诉操作系统推土机的一个模块里有两个核心,模块之间的线程分配也会比较合理。事实上,这有点儿类似于同步多线程(SMT)的处理。然后下载、安装核心休眠(Core&Parking)调度器更新补丁KB2646060,它能在仍然有线程需要分配的时候避免Windows&7过早地关闭暂时无用的核心。核心的关闭和重新开启是会影响性能的。&&不管是桌面版的AMD&FX系列,还是服务器版的AMD&Opteron&系列,都可以照此更新。AMD声称,打上补丁后变化最明显的就是那些只用到推土机半个模块、一个核心的软件,内部对FX-8150的测试显示,wPrime、《Left&4&Dead&2》、《失落的星球》等性能提升最明显,其它情况平均会提升大约1-2%。AMD也同时承认,不是每个软件都能从此更新中获得性能提升,事实上那些繁重多线程任务(特别是能同时用到八个核心/线程的)本身就已经能够较好地发挥推土机的硬件资源,打补丁后几乎不会有任何变化。评论KB2645594——目前,Windows&7、Windows&Server&2008&R2操作系统使用的处理器调度机制没有针对AMD推土机的模块化架构进行优化,因此多线程负载可能无法做到最优化分配,特别是对多线程不敏感的环境中。这可能会导致部分程序的性能有所损失。注意:你系统内的处理器核心休眠电源管理策略可能会导致此更新无法带来预期的性能提升,必须配合KB2646060同时安装。知识库文章:下载地址:KB2646060——该补丁针对安装了AMD&FX/Opteron&4200/Opteron&6200系列处理器的Windows&7、Windows&Server&2008&R2操作系统,能够有选择性地关闭核心休眠(Core&Parking)功能。目前,这两套操作系统使用的处理器电源策略没有针对AMD推土机的双核心模块架构进行优化,可能会导致多线程应用性能有所损失。安装此更新后,推土机模块会极少进入C6电源状态,因此同时也有可能增加系统功耗。注意:此更新安装后无法卸载,而且必须先行安装KB2645594。知识库文章:下载地址:&评论
ATI≠AMD ,珍惜手上的A卡.
.cn/images/upload/upc/tx/itbbs//_.jpg
神油来了。。
ATI≠AMD ,珍惜手上的A卡.
.cn/images/upload/upc/tx/itbbs//_.jpg
Windows7 Ultimate SP1 x64 Intel Xeon E3-1230 BioStar TP67 XE G.Skill F3-1GBXL Inno3D GTX670 2G Crucial M4 64G
鸭血也没用阿。。。。。。。。。i5表示毫无压力
来看看很带感的楼主的签名上的眼镜哥
[Re:[wanghaibo123,6楼]以下是引用:来看看很带感的楼主的签名上的眼镜哥
人家叫Dr.Hu
ATI≠AMD ,珍惜手上的A卡.
.cn/images/upload/upc/tx/itbbs//_.jpg
神油来了,
坐等论坛各位大神实测
您需要登录后才可以发帖
其他登录方式:7吧的大神,求助啊,本本无法联网了_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
7吧的大神,求助啊,本本无法联网了
我有更好的答案
首先直接联接宽带网线测试,如果是宽带的问题,等会看看。在有就是恢复出厂设置,没有更好的方法。3)如果关闭了无线开关开启就是了,如果是用软件连接的无线,软件不好用又经常出问题是很正常的,他们会针对你的设置或操作给出正确建议的,咨询他们给的建议是很有用的,联系宽带客服解决。2)如果是路由器的问题,如果原来可以用,暂时不能用了,建议给路由器的客服打电话,他们有电话在线指导,我遇到自己不能解决的问题,网线接口或网线是不是有问题等。4)如果是系统问题引起的,自己不懂,不建议自己随意设置(这是在物理连接正确的前提下,有时是路由器寻IP地址慢或失败引起的,从新严格按说明书设置就可以用了,我自己的实践是一个是断掉路由器的电源在插上1)如果是宽带本身的问题,用路由器吧。另外就是网卡驱动没有或不合适引起的,建议还原系统或重装,并不是说路由器坏了)。如果总是不能解决
采纳率:88%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包

我要回帖

更多关于 微软放弃wp10系统了吗 的文章

 

随机推荐