批量刷洞是广大白帽的终极梦想,漏洞重复是广大白帽的难以忘怀的噩梦。
不管在哪个漏洞上报平台挖洞,确定平台接收漏洞的厂商列表是第一步。
为了避免漏洞重复,建议大家首先刷一下漏洞数量为零的厂商。
如下脚本,可以自动抓取 教育行业漏洞报告平台 所有厂商列表(保存在schoolNameTotal.txt) 及 漏洞数量为零的厂商列表(schoolNameZero.txt)。
#!/usr/bin/python
# -*- coding:utf-8 -*-
importhttplib
importre
schoolNumTotal = 0
schoolNumZero = 0
fori inrange(3000,8000,1):
url = '/list/firm/'+str(i)
conn = httplib.HTTPSConnection('src.edu-info.edu.cn')
conn.request('GET',url)
res = conn.getresponse()
status = res.status
body = res.read()
# 正则 获取 学校名称
re_schoolName = r'
(.*?)
'
schoolName = re.findall(re_schoolName, body, re.S | re.M)
# 正则 获取 学校名称精确字段
re_schoolName1 = r'
学校名称:(.*?)
'
schoolName1 = re.findall(re_schoolName1, body, re.S | re.M)
# 正则 获取 漏洞总数
re_vulnNum = r'
(.*?) '
vulnNum = re.findall(re_vulnNum, body, re.S | re.M)
# 正则 获取 漏洞威胁值
re_rankNum = r' (.*?)
'
rankNum = re.findall(re_rankNum, body, re.S | re.M)
# 正则 获取 漏洞提交时间,页面没有提交时间,说明漏洞总数为零。前期判断页面是否含有2017和2018,由于版权所有也包含2018,所以,判断不准确。
re_date = r'(\d{4}-\d{2}-\d{2})'
date = re.findall(re_date, body, re.S | re.M)
ifstatus == 200 andlen(date) >= 0:
schoolNumTotal = schoolNumTotal + 1
# 打印 所有 学校名称、漏洞总数、漏洞威胁值
printi, schoolName[0].decode('utf-8'), vulnNum[0].decode('utf-8'), rankNum[0].decode('utf-8')
# 学校名称 写入schoolNameTotal.txt
fo = open('schoolNameTotal.txt', 'a+')
fo.write(schoolName1[0]+ '\n')
iflen(date) == 0:
schoolNumZero = schoolNumZero + 1
# 打印 漏洞为零 学校名称、漏洞总数、漏洞威胁值
#print i, schoolName[0].decode('utf-8'), vulnNum[0].decode('utf-8'), rankNum[0].decode('utf-8')
# 漏洞为零 学校名称 写入schoolNameZero.txt
fo = open('schoolNameZero.txt','a+')
fo.write(schoolName1[0] + '\n')
print '学校总数:'+str(schoolNumTotal)
print '漏洞为零学校总数:'+str(schoolNumZero)
教育行业漏洞报告平台 学校汇总
| 留言与评论(共有 0 条评论) |