查阅资料:
漏洞详情请参考:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2015/ms15-034
鸣谢:https://blog.csdn.net/weixin_30919571/article/details/99306168
验证:
使用Range设置请求的字节,构造数据溢出
Range: bytes=0-18446744073709551615 // 向服务器请求18446744073709551616字节数据,导致数据溢出
微软给的建议是安装补丁:KB3042553
如果操作系统长时间未进行升级会导致显示:此更新不适用于您的计算机
需要按照如下顺序安装前置补丁,KB3021910、KB2919355、KB3042553
http://www.catalog.update.microsoft.com/Search.aspx?q=KB3021910 // KB3021910 http://www.catalog.update.microsoft.com/Search.aspx?q=KB2919355 // KB2919355 http://www.catalog.update.microsoft.com/Search.aspx?q=KB3042553 // KB3042553
备注:KB2919355是一组补丁,选择其中的KB2919355即可。
环境:windows Server 2012 Standard
补丁安装:
1、安装KB3021910无提示重启,需严格按照顺序安装。
2、安装KB2919355完成之后提示重启,必须先安装KB3021910,否则安装KB2919355提示“此更新不适用于您的计算机”。
3、重启之后,安装KB3042553,正常安装不再提示,“此更新不适用于您的计算机”,安装完毕提示重启,重启服务器。
修复结果:
安装补丁之后,再次使用Range验证,响应是Bad Request。说明此攻击无效,已经修复漏洞。
收获:
1、Window的许多补丁需要安装前置补丁,按照顺序安装补丁,否则提示“此更新不适用于您的计算机”。
2、临时关闭IIS内核缓存,也可以临时避开漏洞
路径:输出缓存-->右侧操作-->编辑功能设置 取消勾选“启用内核缓存”,安装补丁之后,可以再开启内核缓存
3、及时更新补丁,在Windows Server 2012 R2 Datacenter(测试可行)