Python文件批量检测CVE-20190708的补丁是否安装
发布日期:2021-06-27 12:56:24 浏览次数:31 分类:技术文章

本文共 2004 字,大约阅读时间需要 6 分钟。

批量检测内网主机的CVE-2019-0708补丁的安装情况,写了一个python文件:

文件内容如下:

'''扫描主机是否安装了CVE2019-0708的补丁思路:    1. 读取txt文件夹中的网段    2. 遍历网段执行命令,将结果导入txt文件中    3. 整理数据将数据分为已安装补丁和未安装补丁的文件    '''import osimport redef scan_ip():  #扫描ip并将结果放入相应ip段命名的文件中    flist = []    ip_txt = input("请输入你想导入的网段文件名,请确认你的网段的形式如下:10.175.101.1-10.175.101.254 :")    for i in open(ip_txt,"r"):        #print(i.strip())        m = i.strip()      #去除空格        ms = m.split(".")  #将网段分隔,取出前面三个元素组成文件        #print(ms)        res_txt = ms[0] + "_" + ms[1] + "_" + ms[2] + ".txt"        flist.append(res_txt)                if not os.path.exists(res_txt):   #判断文件是否存在,不存在则创建            f = open(res_txt,"w")            f.close()            print("{}已创建".format(res_txt))        else:            print("{}已存在".format(res_txt))                    print("开始扫描{}网段".format(m))            cmd1 = "rdpscan " + m + " > " + res_txt  #执行检测命令并且导入文件中        print(cmd1)        os.system(cmd1)        print("{0}网段已扫描完".format(m))    print("已全部扫描完")    return flistdef coll_data(flist):  #将生成的结果文件中的数据分类为已安装和未安装两大类    re_list = []    for f in flist:   # 遍历所有文件,把文件中的数据取出来放入re_list中        for i in open(f,"r"):            m = i.strip()            if m != '':                re_list.append(m)    #print(re_list)                    #假如之前存在文件,为了避免数据出现重复,删除之前的文件    if os.path.exists("vul.txt") :        os.remove("vul.txt")    elif  os.path.exists("safe.txt"):        os.remove("safe.txt")            # 使用正则来整理数据    for i in re_list:        pat = re.compile(r"\d+.\d+.\d+.\d+ - VULNERABLE")        res = pat.match(i)        #print(res)        if res != None:            with open("vul.txt","a+") as vf:    #创建vul.txt文件放入没有安装CVE-20190708补丁的主机                vf.write(i+"\n")        else:            with open("safe.txt","a+") as sf:    #创建safe.txt文件放入已经安装CVE-20190708补丁的主机                sf.write(i+"\n")    print("已规整好数据")if __name__ == "__main__":    #flist = scan_ip()    flist = ["10_175_101.txt"]    #用已存在的文件检测函数是否能成功执行    coll_data(flist)

检测的exe文件,链接和提取码如下:

链接:
提取码:6ip9

转载地址:https://blog.csdn.net/weixin_43458262/article/details/93040754 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Django的MTV与MVC区别
下一篇:xftp(xshell)无法连接kail的解决办法

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年02月05日 02时25分09秒