diff --git a/nsfocus_bug_excel.py b/nsfocus_bug_excel.py index 0ddcac5..d60ab83 100644 --- a/nsfocus_bug_excel.py +++ b/nsfocus_bug_excel.py @@ -6,7 +6,7 @@ # @Software: PyCharm '''将文件放在要处理的绿盟科技漏洞扫描综合报表内,自动识别index.html文件,会生成三个文件 -python nsfocus_excel.py +在当前目录下执行python nsfocus_bug_excel.py 需要导入第三方库xlwt库、BeautifulSoup库、lxml库 ''' import time diff --git a/nsfocus_passwd_excel.py b/nsfocus_passwd_excel.py index 0ddcac5..20a9082 100644 --- a/nsfocus_passwd_excel.py +++ b/nsfocus_passwd_excel.py @@ -1,143 +1,11 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# @Time : 2017/12/28 13:41 +# @Time : 2018/12/09 18:14 # @Author : 852782749@qq.com -# @File : nsfocus_bug_excel.py +# @File : nsfocus_passwd_excel.py # @Software: PyCharm -'''将文件放在要处理的绿盟科技漏洞扫描综合报表内,自动识别index.html文件,会生成三个文件 -python nsfocus_excel.py +'''将文件放在要处理的绿盟科技漏洞扫描综合报表内,自动识别index.html文件,会生成date.xls +在当前目录下执行python nsfocus_passwd_excel.py 需要导入第三方库xlwt库、BeautifulSoup库、lxml库 -''' -import time -'''time.strftime('%Y-%m-%d.xls')''' -import xlwt -import sys -reload(sys) -sys.setdefaultencoding('utf-8') -try: - from bs4 import BeautifulSoup -except ImportError: - raise SystemExit('\n[!]python html库——BeautifulSoup导入错误;请执行 pip install BeautifulSoup安装!') -import re -import lxml -''' -脚本是用来获取绿盟漏洞扫描设备的html版本报告的漏洞信息的,包括主机,漏洞名称,漏洞描述,修复建议,CVE编号 -#buglv = ['high','middle','low']分别对应高中低三种类型的漏洞。 -''' -soup = BeautifulSoup(open('index.html'),"lxml") -#print soup.contents -data = str(soup.find_all("div",{"class":'report_content'})).decode('unicode_escape') -#删除空格、换行等特殊字符 -data = filter(lambda x:x not in ['\n','\r',' ','\t'],data) -#print data -#共有8个此处DIV,每处对应一章节 -#使用split分出每一章节 -data_list=data.split("report_content") -#print data_list[4] -data_bug_list = data_list[4] -#print data_bug_list -buglv = ['high','middle','low'] -#buglv = ['high'] - -def bug_level(bug_lv): - #定义获取漏洞list(漏洞名称,详细信息,解决方案,CVE编号等,) - # 正则bug_lv为风险等级分为high,middle,low分别对应风险等级高中低; - # data_bug_list为全局变量,值是漏洞数据; - #返回bug_r_list为匹配到的漏洞数据list - bug_r = r'' - bug_r_re = re.compile(bug_r) - bug_r_list = re.findall(bug_r_re, data_bug_list) - return bug_r_list -def vnln_hosts(bug_hosts): - # 匹配受影响主机 - #data_host实参是漏洞信息中受影响主机 - # bug_host_r_list是返回的受影响主机 - bug_host_r = r'host/(.*?).html' - bug_host_r_re = re.compile(bug_host_r) - bug_host_r_list = re.findall(bug_host_r_re, bug_hosts) - return bug_host_r_list -def bug_main(bug_bug): - index =1 - '''time.strftime('%Y-%m-%d-%h-%s.xls')''' - file = xlwt.Workbook() - # excel 第一行数据 - excel_headDatas = [u'受影响主机', u'漏洞等级', u'漏洞名称', u'漏洞描述', u'修复建议', u'CVE编号'] - table = file.add_sheet(u'漏洞数据', cell_overwrite_ok=True) - fist = 0 - for data in excel_headDatas: - table.write(0, fist, data) - fist += 1 - for i in range(len(bug_bug)): -# for i in range(1): - #print u'当前进行第%s个' %(i+1) - bug_n_r = r'trclass=".*?vuln_(.*?)"onclick.*?(.*?)