├── requirements.txt ├── imgs └── image-20210805102136882.png ├── LICENSE ├── README.md └── eduSRC.py /requirements.txt: -------------------------------------------------------------------------------- 1 | requests 2 | bs4 3 | matplotlib -------------------------------------------------------------------------------- /imgs/image-20210805102136882.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kracer127/eduSRC-statistic/HEAD/imgs/image-20210805102136882.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2021, kracer127 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
52 |
53 | 2、2020-2021年各大学校漏洞统计:
54 |
55 | ```
56 | 年份漏洞总条数:30000
57 |
58 | 上海交通大学:786个漏洞
59 | 江苏省教育厅:496个漏洞
60 | 四川省教育厅:430个漏洞
61 | 安徽省教育厅:398个漏洞
62 | 同济大学:372个漏洞
63 | 浙江省教育厅:359个漏洞
64 | 山东省教育厅:347个漏洞
65 | 浙江大学:332个漏洞
66 | 河南省教育厅:307个漏洞
67 | 福建省教育厅:304个漏洞
68 | 河北省教育厅:277个漏洞
69 | 广东省教育厅:275个漏洞
70 | 华东师范大学:261个漏洞
71 | 兰州大学:251个漏洞
72 | 清华大学:247个漏洞
73 | 陕西省教育厅:230个漏洞
74 | 电子科技大学:225个漏洞
75 | 北京市教育委员会:218个漏洞
76 | 广西壮族自治区教育厅:208个漏洞
77 | 上海市教育委员会:195个漏洞
78 | 湖南省教育厅:186个漏洞
79 | 江西省教育厅:159个漏洞
80 | 四川大学:156个漏洞
81 | 武汉大学:153个漏洞
82 | 重庆市教育委员会:149个漏洞
83 | 湖北省教育厅:148个漏洞
84 | 南开大学:145个漏洞
85 | 中国科学技术大学:140个漏洞
86 | 华东理工大学:138个漏洞
87 | 贵州省教育厅:137个漏洞
88 | 云南省教育厅:133个漏洞
89 | 甘肃省教育厅:130个漏洞
90 | 山西省教育厅:130个漏洞
91 | 辽宁省教育厅:127个漏洞
92 | 山东大学:121个漏洞
93 | 福州大学:113个漏洞
94 | 山东理工大学:113个漏洞
95 | ......
96 | ```
97 |
98 | 3、2020-2021年学校漏洞排行榜:
99 |
100 | ```
101 | 上海交通大学
102 | 低危:147个
103 | 中危:147个
104 | 高危:67个
105 | 严重:23个
106 | 总数:384个
107 | SQL:42个
108 | CSRF:4个
109 | SSRF:4个
110 | XSS:17个
111 | 代码执行:13个
112 | 其他:0个
113 | 命令执行:6个
114 | 垂直权限:21个
115 | 弱口令:145个
116 | 敏感信息:100个
117 | 文件上传:21个
118 | 水平权限:11个
119 | 点击劫持:0个
120 | 江苏省教育厅
121 | 高危:25个
122 | 低危:59个
123 | 中危:37个
124 | 严重:6个
125 | 总数:127个
126 | SQL:18个
127 | CSRF:0个
128 | SSRF:0个
129 | XSS:0个
130 | 代码执行:4个
131 | 其他:0个
132 | 命令执行:4个
133 | 垂直权限:1个
134 | 弱口令:37个
135 | 敏感信息:50个
136 | 文件上传:13个
137 | 水平权限:0个
138 | 点击劫持:0个
139 | 同济大学
140 | 低危:47个
141 | 中危:62个
142 | 高危:13个
143 | 严重:1个
144 | 总数:123个
145 | SQL:17个
146 | CSRF:0个
147 | SSRF:0个
148 | XSS:6个
149 | 代码执行:0个
150 | 其他:0个
151 | 命令执行:7个
152 | 垂直权限:4个
153 | 弱口令:43个
154 | 敏感信息:37个
155 | 文件上传:5个
156 | 水平权限:4个
157 | 点击劫持:0个
158 | 华东师范大学
159 | 中危:49个
160 | 高危:20个
161 | 低危:49个
162 | 严重:3个
163 | 总数:121个
164 | SQL:29个
165 | CSRF:0个
166 | SSRF:2个
167 | XSS:10个
168 | 代码执行:0个
169 | 其他:0个
170 | 命令执行:6个
171 | 垂直权限:4个
172 | 弱口令:28个
173 | 敏感信息:32个
174 | 文件上传:3个
175 | 水平权限:7个
176 | 点击劫持:0个
177 | ......
178 | ```
179 |
180 | 4、2020-2021年大佬提交漏洞排行榜:
181 |
182 | ```
183 | 姜洪杰
184 | 中危:252个
185 | 低危:1565个
186 | 高危:47个
187 | 严重:10个
188 | 总数:1874个
189 | SQL:7个
190 | CSRF:0个
191 | SSRF:0个
192 | XSS:2个
193 | 代码执行:3个
194 | 其他:69个
195 | 命令执行:5个
196 | 垂直权限:0个
197 | 弱口令:876个
198 | 敏感信息:911个
199 | 文件上传:1个
200 | 水平权限:0个
201 | 点击劫持:0个
202 | 远海
203 | 高危:191个
204 | 低危:20个
205 | 中危:207个
206 | 严重:1个
207 | 总数:419个
208 | SQL:167个
209 | CSRF:0个
210 | SSRF:0个
211 | XSS:0个
212 | 代码执行:0个
213 | 其他:32个
214 | 命令执行:1个
215 | 垂直权限:30个
216 | 弱口令:34个
217 | 敏感信息:6个
218 | 文件上传:140个
219 | 水平权限:8个
220 | 点击劫持:1个
221 | 鲁中代表
222 | 高危:12个
223 | 中危:35个
224 | 低危:372个
225 | 总数:419个
226 | SQL:7个
227 | CSRF:0个
228 | SSRF:0个
229 | XSS:0个
230 | 代码执行:6个
231 | 其他:11个
232 | 命令执行:2个
233 | 垂直权限:1个
234 | 弱口令:52个
235 | 敏感信息:337个
236 | 文件上传:3个
237 | 水平权限:0个
238 | 点击劫持:0个
239 | flank
240 | 高危:36个
241 | 低危:123个
242 | 中危:101个
243 | 严重:11个
244 | 总数:271个
245 | SQL:11个
246 | CSRF:0个
247 | SSRF:0个
248 | XSS:11个
249 | 代码执行:23个
250 | 其他:101个
251 | 命令执行:10个
252 | 垂直权限:2个
253 | 弱口令:86个
254 | 敏感信息:28个
255 | 文件上传:2个
256 | 水平权限:1个
257 | 点击劫持:0个
258 | 教主assassin
259 | 中危:99个
260 | 低危:93个
261 | 高危:33个
262 | 严重:7个
263 | 总数:232个
264 | SQL:15个
265 | CSRF:0个
266 | SSRF:1个
267 | XSS:10个
268 | 代码执行:2个
269 | 其他:56个
270 | 命令执行:15个
271 | 垂直权限:15个
272 | 弱口令:64个
273 | 敏感信息:33个
274 | 文件上传:8个
275 | 水平权限:13个
276 | 点击劫持:0个
277 | ......
278 | ```
279 |
280 |
--------------------------------------------------------------------------------
/eduSRC.py:
--------------------------------------------------------------------------------
1 | # -*- coding:utf-8 -*-
2 | # by:kracer
3 | import re
4 | import requests
5 | import time
6 | from threading import *
7 | from multiprocessing import Process
8 | from bs4 import BeautifulSoup as bs
9 | import matplotlib.pyplot as plt
10 |
11 | url0 = "https://src.sjtu.edu.cn/list/?page="
12 | submitter_index_dic, edu_index_dic = {}, {}
13 | datas = [] #承载爬虫获取的数据(列表形式)
14 | bug_name = ["SQL", "CSRF", "SSRF", "XSS", "代码执行", "其他", "命令执行", "垂直权限", "弱口令", "敏感信息", "文件上传", "水平权限", "点击劫持"]
15 | lock = Lock()
16 | #爬取平台网站数据函数
17 | def getData(a, num):
18 | with open(r'edusrc.txt', 'w+', encoding='utf-8') as f:
19 | for page in range((num + a - 300), (a+1)):
20 | url = url0 + str(page)
21 | r = requests.get(url=url)
22 | r.encoding = r.apparent_encoding
23 | soup = bs(r.text, 'lxml')
24 | result = soup.find_all(name='tr', attrs={'class':'row'})
25 | soup1 = bs(str(result), 'lxml')
26 | result0 = soup1.find_all(name='a') #初始的a标签数据
27 | result1 = [i.string for i in result0]
28 | result1_new = [] #正则获取学校漏洞名称
29 | for i in range(len(result1)):
30 | if(i%2 == 0):
31 | text = re.findall(r'(\w.*)', result1[i])
32 | result1_new.append(text[0])
33 | else:
34 | continue
35 | result2 = re.findall(r'