第一篇 网络爬虫 抓取 教育行业漏洞报告平台 学校名称

批量刷洞是广大白帽的终极梦想,漏洞重复是广大白帽的难以忘怀的噩梦。

不管在哪个漏洞上报平台挖洞,确定平台接收漏洞的厂商列表是第一步。

为了避免漏洞重复,建议大家首先刷一下漏洞数量为零的厂商。

如下脚本,可以自动抓取 教育行业漏洞报告平台 所有厂商列表(保存在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 条评论)
   
验证码:

相关文章

推荐文章

'); })();