http.sys整数溢出漏洞(MS15-034)验证方法

 

漏洞成因:

18446744073709551615转为十六进制即是 0xFFFFFFFFFFFFFFFF(16个F),是64位无符号整形所能表达的最大整数,这个“整数溢出”必然同这个异常的超大整数有关,若IIS服务器返回“416 Requested Range Not Satisfiable”,则是存在漏洞,若返回”The request has an invalid header name“,或其他状态码则说明漏洞已经修补。

漏洞危害:

利用该漏洞构造恶意的http请求数据包,可使服务器系统蓝屏崩溃,对服务器能造成宕机影响。

修复建议:

安装微软官方补丁,补丁地址如下:https://technet.microsoft.com/zh-cn/library/security/ms15-034

验证方法一,使用burpsuit进行验证

对目标网站抓包,一般使用.js、.css、或图片类文件进行验证,如下图:

http.sys整数溢出漏洞(MS15-034)验证方法_第1张图片

在数据包中加入Range: bytes=0-18446744073709551615,然后点击发送,如下图:

http.sys整数溢出漏洞(MS15-034)验证方法_第2张图片

发现提示416,且为IIS服务器,说明存在这个漏洞。

验证方法二,使用metasploit(msf)进行验证

启动msf,查询漏洞ms15-034,使用第二个模块进行验证,use auxiliary/scanner/http/ms15_034_http_sys_memory_dump,如下图:

http.sys整数溢出漏洞(MS15-034)验证方法_第3张图片

配置好各项参数后,run一下就可以验证该漏洞

验证方法三,使用windows子系统进行验证

windows打开命令窗输入bash启动windows子系统,进入子系统,切换目录后插入代码如下图:

http.sys整数溢出漏洞(MS15-034)验证方法_第4张图片

http.sys整数溢出漏洞(MS15-034)验证方法_第5张图片

cd ~
cat .bashrc
在最后一行插入
alias http.sys="curl -I -H 'Range: bytes=0-18446744073709551615'"

然后保存,直接使用命令http.sys即可,如下图:

http.sys整数溢出漏洞(MS15-034)验证方法_第6张图片

这样以后验证起来可以直接启动子系统,使用http.sys加目标地址,会比使用msf或者burp方便一点。

你可能感兴趣的:(网络安全)