<>1、漏洞描述:

Http.sys是Microsoft
Windows处理HTTP请求的内核驱动程序。HTTP.sys会错误解析某些特殊构造的HTTP请求,导致远程代码执行漏洞。成功利用此漏洞后,攻击者可在System帐户上下文中执行任意代码。由于此漏洞存在于内核驱动程序中,攻击者也可以远程导致操作系统蓝屏。此次受影响的系统中,Windows7、Windows8、WindowsServer
2008 R2和WindowsServer
2012所带的HTTP.sys驱动均存在一个远程代码执行漏洞,远程攻击者可以通过IIS7(或更高版本)服务将恶意的HTTP请求传递给HTTP.sys驱动,通过发送恶意的HTTP请求导致远程代码执行或操作系统蓝屏。

<>2、检测条件:

被测网站采用了windows平台中的IIS中间件架构。

<>3、检测方法

1、通过绿盟科技客户自助门户系统进行检测,参考链接:https://portal.nsfocus.com/vulnerability/list/
,找到对应的漏洞检测模块,输入相关信息,进行检测。

2、或者通过人工执行python脚本进行检测,相关代码参考如下:
import socket import random ipAddr = "" hexAllFfff = "18446744073709551615"
req1 = "GET / HTTP/1.0\r\n\r\n" req = "GET / HTTP/1.1\r\nHost: stuff\r\nRange:
bytes=0-" + hexAllFfff + "\r\n\r\n" print "[*] Audit Started" client_socket =
socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((ipAddr, 80)) client_socket.send(req1) boringResp =
client_socket.recv(1024) if "Microsoft" not in boringResp: print "[*] Not IIS"
exit(0) client_socket.close() client_socket = socket.socket(socket.AF_INET,
socket.SOCK_STREAM) client_socket.connect((ipAddr, 80)) client_socket.send(req)
goodResp = client_socket.recv(1024) if "Requested Range Not Satisfiable" in
goodResp: print "[!!] Looks VULN" elif " The request has an invalid header
name" in goodResp: print "[*] Looks Patched" else: print "[*] Unexpected
response, cannot discern patch status"
<>4、修复方案


厂商已在安全公告MS15-034中修复了此安全漏洞。我们建议用户开启自动更新服务以及时安装最新补丁,如果不能进行升级,可通过禁用IIS内核缓存来临时缓解此漏洞的危险,但这可能会导致IIS性能下降,配置方法:

1、打开IIS管理器,然后导航至您要管理的级别。有关如何在UI的各个位置间进行导航的信息,请参阅在IIS管理器中导航。

2、在“功能视图”中,双击“输出缓存”。

3、在“输出缓存”页中的“操作”窗格中,单击“编辑功能设置”。

4、在“编辑输出缓存设置”对话框中,单击“启用内核缓存”以将其选中,然后单击“确定”。