├── README.md
├── api.php
├── css
├── bootstrap-theme.css
├── bootstrap.css
├── main.css
└── style.css
├── fonts
├── fonts.txt
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
├── go
└── index.php
├── images
├── icon_police.png
├── images.txt
└── logo.png
├── index.php
├── js
├── bootstrap.js
├── jquery-3.2.1.js
└── pagination.min.js
└── wtf
├── .idea
├── .name
├── encodings.xml
├── misc.xml
├── modules.xml
├── workspace.xml
└── wtf.iml
├── app
├── __init__.py
├── __init__.pyc
├── __pycache__
│ └── __init__.cpython-36.pyc
├── api
│ ├── Whois.py
│ ├── Whois.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── baseinfo.py
│ ├── baseinfo.pyc
│ ├── c_section.py
│ ├── c_section.pyc
│ ├── cms
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── cms.txt
│ │ ├── whatcms.py
│ │ └── whatcms.pyc
│ ├── dirscan
│ │ ├── ASP.txt
│ │ ├── ASPX.txt
│ │ ├── DIR.txt
│ │ ├── JSP.txt
│ │ ├── MDB.txt
│ │ ├── PHP.txt
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── dirscan.py
│ │ └── dirscan.pyc
│ ├── ip2area
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── ip.py
│ │ ├── ip.pyc
│ │ ├── ip2Region.py
│ │ ├── ip2Region.pyc
│ │ └── ip2region.db
│ ├── portscan.py
│ ├── portscan.pyc
│ ├── simple_portscan.py
│ ├── simple_portscan.pyc
│ ├── subdomain.py
│ ├── subdomain.pyc
│ └── test.py
├── decorators.py
├── email.py
├── models.py
├── models.pyc
└── utils
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── error.py
│ ├── error.pyc
│ ├── getdomian.py
│ ├── getdomian.pyc
│ ├── success.py
│ ├── success.pyc
│ ├── url2ip.py
│ └── url2ip.pyc
├── cmd.bat
├── config.py
├── config.pyc
├── data.db
├── manage.py
└── requirements.txt
/README.md:
--------------------------------------------------------------------------------
1 | # WTF_Scan
2 | 一款WEB端的在线敏感资产扫描器,扫描网站中的指纹、漏洞及相关敏感信息,针对已经识别的CMS指纹,进行二次0day扫描利用,一键GetShell也不是不可能!!!
3 | 
4 |
5 | ## 预览界面
6 | 
7 | ## 运行环境
8 | - 1.PHP > 5.3
9 | - 2.allow_url_fopen = On
10 |
11 | ## 使用说明
12 | - 1.克隆下载本源码
13 | - 2.上传到网站空间,直接访问对应目录即可使用
14 |
15 | ## 功能特别说明
16 | - 1.支持基本网站基本信息搜集
17 | - 2.支持获取DNS解析信息
18 | - 3.支持获取子域名信息
19 | - 4.支持获取网站CMS指纹信息
20 | - 5.支持逆向穿透国内CDN获取网站源IP及物理定位地址
21 | - 6.支持探测爆破常见端口以及全部65535个端口
22 | - 7.支持网站敏感目录、文件扫描爆破,字典6000+匹配
23 | - 8.支持IIS短文件名漏洞扫描
24 | - 9.支持根据扫描结果CMS定向0day扫描利用(未完成)
25 | - 10.支持插件无限扩展
26 |
27 | ### Tips:
28 | 最近真的好忙啊~有比赛还有考试复习,大家可以关注我的博客:https://blog.dyboy.cn ,日常更新哦~
29 |
30 | ### 更新历史:
31 |
32 | - 2018-12-21 开源后端代码
33 |
--------------------------------------------------------------------------------
/api.php:
--------------------------------------------------------------------------------
1 | '0','msg'=>"小伙子,皮这一下你很开心???"];
66 | echo json_encode($response);
67 | exit();
68 | }
69 |
70 |
71 | $file=curl_get($url);
72 |
73 | echo $file;
74 |
75 | exit();
76 |
77 | ?>
78 |
--------------------------------------------------------------------------------
/css/bootstrap-theme.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.7 (http://getbootstrap.com)
3 | * Copyright 2011-2016 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 | .btn-default,
7 | .btn-primary,
8 | .btn-success,
9 | .btn-info,
10 | .btn-warning,
11 | .btn-danger {
12 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
13 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
14 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
15 | }
16 | .btn-default:active,
17 | .btn-primary:active,
18 | .btn-success:active,
19 | .btn-info:active,
20 | .btn-warning:active,
21 | .btn-danger:active,
22 | .btn-default.active,
23 | .btn-primary.active,
24 | .btn-success.active,
25 | .btn-info.active,
26 | .btn-warning.active,
27 | .btn-danger.active {
28 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
29 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
30 | }
31 | .btn-default.disabled,
32 | .btn-primary.disabled,
33 | .btn-success.disabled,
34 | .btn-info.disabled,
35 | .btn-warning.disabled,
36 | .btn-danger.disabled,
37 | .btn-default[disabled],
38 | .btn-primary[disabled],
39 | .btn-success[disabled],
40 | .btn-info[disabled],
41 | .btn-warning[disabled],
42 | .btn-danger[disabled],
43 | fieldset[disabled] .btn-default,
44 | fieldset[disabled] .btn-primary,
45 | fieldset[disabled] .btn-success,
46 | fieldset[disabled] .btn-info,
47 | fieldset[disabled] .btn-warning,
48 | fieldset[disabled] .btn-danger {
49 | -webkit-box-shadow: none;
50 | box-shadow: none;
51 | }
52 | .btn-default .badge,
53 | .btn-primary .badge,
54 | .btn-success .badge,
55 | .btn-info .badge,
56 | .btn-warning .badge,
57 | .btn-danger .badge {
58 | text-shadow: none;
59 | }
60 | .btn:active,
61 | .btn.active {
62 | background-image: none;
63 | }
64 | .btn-default {
65 | text-shadow: 0 1px 0 #fff;
66 | background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
67 | background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
68 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
69 | background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
70 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
71 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
72 | background-repeat: repeat-x;
73 | border-color: #dbdbdb;
74 | border-color: #ccc;
75 | }
76 | .btn-default:hover,
77 | .btn-default:focus {
78 | background-color: #e0e0e0;
79 | background-position: 0 -15px;
80 | }
81 | .btn-default:active,
82 | .btn-default.active {
83 | background-color: #e0e0e0;
84 | border-color: #dbdbdb;
85 | }
86 | .btn-default.disabled,
87 | .btn-default[disabled],
88 | fieldset[disabled] .btn-default,
89 | .btn-default.disabled:hover,
90 | .btn-default[disabled]:hover,
91 | fieldset[disabled] .btn-default:hover,
92 | .btn-default.disabled:focus,
93 | .btn-default[disabled]:focus,
94 | fieldset[disabled] .btn-default:focus,
95 | .btn-default.disabled.focus,
96 | .btn-default[disabled].focus,
97 | fieldset[disabled] .btn-default.focus,
98 | .btn-default.disabled:active,
99 | .btn-default[disabled]:active,
100 | fieldset[disabled] .btn-default:active,
101 | .btn-default.disabled.active,
102 | .btn-default[disabled].active,
103 | fieldset[disabled] .btn-default.active {
104 | background-color: #e0e0e0;
105 | background-image: none;
106 | }
107 | .btn-primary {
108 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
109 | background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
110 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
111 | background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
112 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
113 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
114 | background-repeat: repeat-x;
115 | border-color: #245580;
116 | }
117 | .btn-primary:hover,
118 | .btn-primary:focus {
119 | background-color: #265a88;
120 | background-position: 0 -15px;
121 | }
122 | .btn-primary:active,
123 | .btn-primary.active {
124 | background-color: #265a88;
125 | border-color: #245580;
126 | }
127 | .btn-primary.disabled,
128 | .btn-primary[disabled],
129 | fieldset[disabled] .btn-primary,
130 | .btn-primary.disabled:hover,
131 | .btn-primary[disabled]:hover,
132 | fieldset[disabled] .btn-primary:hover,
133 | .btn-primary.disabled:focus,
134 | .btn-primary[disabled]:focus,
135 | fieldset[disabled] .btn-primary:focus,
136 | .btn-primary.disabled.focus,
137 | .btn-primary[disabled].focus,
138 | fieldset[disabled] .btn-primary.focus,
139 | .btn-primary.disabled:active,
140 | .btn-primary[disabled]:active,
141 | fieldset[disabled] .btn-primary:active,
142 | .btn-primary.disabled.active,
143 | .btn-primary[disabled].active,
144 | fieldset[disabled] .btn-primary.active {
145 | background-color: #265a88;
146 | background-image: none;
147 | }
148 | .btn-success {
149 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
150 | background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
151 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
152 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
153 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
154 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
155 | background-repeat: repeat-x;
156 | border-color: #3e8f3e;
157 | }
158 | .btn-success:hover,
159 | .btn-success:focus {
160 | background-color: #419641;
161 | background-position: 0 -15px;
162 | }
163 | .btn-success:active,
164 | .btn-success.active {
165 | background-color: #419641;
166 | border-color: #3e8f3e;
167 | }
168 | .btn-success.disabled,
169 | .btn-success[disabled],
170 | fieldset[disabled] .btn-success,
171 | .btn-success.disabled:hover,
172 | .btn-success[disabled]:hover,
173 | fieldset[disabled] .btn-success:hover,
174 | .btn-success.disabled:focus,
175 | .btn-success[disabled]:focus,
176 | fieldset[disabled] .btn-success:focus,
177 | .btn-success.disabled.focus,
178 | .btn-success[disabled].focus,
179 | fieldset[disabled] .btn-success.focus,
180 | .btn-success.disabled:active,
181 | .btn-success[disabled]:active,
182 | fieldset[disabled] .btn-success:active,
183 | .btn-success.disabled.active,
184 | .btn-success[disabled].active,
185 | fieldset[disabled] .btn-success.active {
186 | background-color: #419641;
187 | background-image: none;
188 | }
189 | .btn-info {
190 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
191 | background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
192 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
193 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
194 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
195 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
196 | background-repeat: repeat-x;
197 | border-color: #28a4c9;
198 | }
199 | .btn-info:hover,
200 | .btn-info:focus {
201 | background-color: #2aabd2;
202 | background-position: 0 -15px;
203 | }
204 | .btn-info:active,
205 | .btn-info.active {
206 | background-color: #2aabd2;
207 | border-color: #28a4c9;
208 | }
209 | .btn-info.disabled,
210 | .btn-info[disabled],
211 | fieldset[disabled] .btn-info,
212 | .btn-info.disabled:hover,
213 | .btn-info[disabled]:hover,
214 | fieldset[disabled] .btn-info:hover,
215 | .btn-info.disabled:focus,
216 | .btn-info[disabled]:focus,
217 | fieldset[disabled] .btn-info:focus,
218 | .btn-info.disabled.focus,
219 | .btn-info[disabled].focus,
220 | fieldset[disabled] .btn-info.focus,
221 | .btn-info.disabled:active,
222 | .btn-info[disabled]:active,
223 | fieldset[disabled] .btn-info:active,
224 | .btn-info.disabled.active,
225 | .btn-info[disabled].active,
226 | fieldset[disabled] .btn-info.active {
227 | background-color: #2aabd2;
228 | background-image: none;
229 | }
230 | .btn-warning {
231 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
232 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
233 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
234 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
235 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
236 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
237 | background-repeat: repeat-x;
238 | border-color: #e38d13;
239 | }
240 | .btn-warning:hover,
241 | .btn-warning:focus {
242 | background-color: #eb9316;
243 | background-position: 0 -15px;
244 | }
245 | .btn-warning:active,
246 | .btn-warning.active {
247 | background-color: #eb9316;
248 | border-color: #e38d13;
249 | }
250 | .btn-warning.disabled,
251 | .btn-warning[disabled],
252 | fieldset[disabled] .btn-warning,
253 | .btn-warning.disabled:hover,
254 | .btn-warning[disabled]:hover,
255 | fieldset[disabled] .btn-warning:hover,
256 | .btn-warning.disabled:focus,
257 | .btn-warning[disabled]:focus,
258 | fieldset[disabled] .btn-warning:focus,
259 | .btn-warning.disabled.focus,
260 | .btn-warning[disabled].focus,
261 | fieldset[disabled] .btn-warning.focus,
262 | .btn-warning.disabled:active,
263 | .btn-warning[disabled]:active,
264 | fieldset[disabled] .btn-warning:active,
265 | .btn-warning.disabled.active,
266 | .btn-warning[disabled].active,
267 | fieldset[disabled] .btn-warning.active {
268 | background-color: #eb9316;
269 | background-image: none;
270 | }
271 | .btn-danger {
272 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
273 | background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
274 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
275 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
276 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
277 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
278 | background-repeat: repeat-x;
279 | border-color: #b92c28;
280 | }
281 | .btn-danger:hover,
282 | .btn-danger:focus {
283 | background-color: #c12e2a;
284 | background-position: 0 -15px;
285 | }
286 | .btn-danger:active,
287 | .btn-danger.active {
288 | background-color: #c12e2a;
289 | border-color: #b92c28;
290 | }
291 | .btn-danger.disabled,
292 | .btn-danger[disabled],
293 | fieldset[disabled] .btn-danger,
294 | .btn-danger.disabled:hover,
295 | .btn-danger[disabled]:hover,
296 | fieldset[disabled] .btn-danger:hover,
297 | .btn-danger.disabled:focus,
298 | .btn-danger[disabled]:focus,
299 | fieldset[disabled] .btn-danger:focus,
300 | .btn-danger.disabled.focus,
301 | .btn-danger[disabled].focus,
302 | fieldset[disabled] .btn-danger.focus,
303 | .btn-danger.disabled:active,
304 | .btn-danger[disabled]:active,
305 | fieldset[disabled] .btn-danger:active,
306 | .btn-danger.disabled.active,
307 | .btn-danger[disabled].active,
308 | fieldset[disabled] .btn-danger.active {
309 | background-color: #c12e2a;
310 | background-image: none;
311 | }
312 | .thumbnail,
313 | .img-thumbnail {
314 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
315 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
316 | }
317 | .dropdown-menu > li > a:hover,
318 | .dropdown-menu > li > a:focus {
319 | background-color: #e8e8e8;
320 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
321 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
322 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
323 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
324 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
325 | background-repeat: repeat-x;
326 | }
327 | .dropdown-menu > .active > a,
328 | .dropdown-menu > .active > a:hover,
329 | .dropdown-menu > .active > a:focus {
330 | background-color: #2e6da4;
331 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
332 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
333 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
334 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
335 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
336 | background-repeat: repeat-x;
337 | }
338 | .navbar-default {
339 | background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
340 | background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
341 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
342 | background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
343 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
344 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
345 | background-repeat: repeat-x;
346 | border-radius: 4px;
347 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
348 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
349 | }
350 | .navbar-default .navbar-nav > .open > a,
351 | .navbar-default .navbar-nav > .active > a {
352 | background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
353 | background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
354 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
355 | background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
356 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
357 | background-repeat: repeat-x;
358 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
359 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
360 | }
361 | .navbar-brand,
362 | .navbar-nav > li > a {
363 | text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
364 | }
365 | .navbar-inverse {
366 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
367 | background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
368 | background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
369 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
370 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
371 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
372 | background-repeat: repeat-x;
373 | border-radius: 4px;
374 | }
375 | .navbar-inverse .navbar-nav > .open > a,
376 | .navbar-inverse .navbar-nav > .active > a {
377 | background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
378 | background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
379 | background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
380 | background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
381 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
382 | background-repeat: repeat-x;
383 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
384 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
385 | }
386 | .navbar-inverse .navbar-brand,
387 | .navbar-inverse .navbar-nav > li > a {
388 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
389 | }
390 | .navbar-static-top,
391 | .navbar-fixed-top,
392 | .navbar-fixed-bottom {
393 | border-radius: 0;
394 | }
395 | @media (max-width: 767px) {
396 | .navbar .navbar-nav .open .dropdown-menu > .active > a,
397 | .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
398 | .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
399 | color: #fff;
400 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
401 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
402 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
403 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
404 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
405 | background-repeat: repeat-x;
406 | }
407 | }
408 | .alert {
409 | text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
410 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
411 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
412 | }
413 | .alert-success {
414 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
415 | background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
416 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
417 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
418 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
419 | background-repeat: repeat-x;
420 | border-color: #b2dba1;
421 | }
422 | .alert-info {
423 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
424 | background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
425 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
426 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
427 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
428 | background-repeat: repeat-x;
429 | border-color: #9acfea;
430 | }
431 | .alert-warning {
432 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
433 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
434 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
435 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
436 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
437 | background-repeat: repeat-x;
438 | border-color: #f5e79e;
439 | }
440 | .alert-danger {
441 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
442 | background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
443 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
444 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
445 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
446 | background-repeat: repeat-x;
447 | border-color: #dca7a7;
448 | }
449 | .progress {
450 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
451 | background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
452 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
453 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
454 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
455 | background-repeat: repeat-x;
456 | }
457 | .progress-bar {
458 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
459 | background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
460 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
461 | background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
462 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
463 | background-repeat: repeat-x;
464 | }
465 | .progress-bar-success {
466 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
467 | background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
468 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
469 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
470 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
471 | background-repeat: repeat-x;
472 | }
473 | .progress-bar-info {
474 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
475 | background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
476 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
477 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
478 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
479 | background-repeat: repeat-x;
480 | }
481 | .progress-bar-warning {
482 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
483 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
484 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
485 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
486 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
487 | background-repeat: repeat-x;
488 | }
489 | .progress-bar-danger {
490 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
491 | background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
492 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
493 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
494 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
495 | background-repeat: repeat-x;
496 | }
497 | .progress-bar-striped {
498 | background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
499 | background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
500 | background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
501 | }
502 | .list-group {
503 | border-radius: 4px;
504 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
505 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
506 | }
507 | .list-group-item.active,
508 | .list-group-item.active:hover,
509 | .list-group-item.active:focus {
510 | text-shadow: 0 -1px 0 #286090;
511 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
512 | background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
513 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
514 | background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
515 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
516 | background-repeat: repeat-x;
517 | border-color: #2b669a;
518 | }
519 | .list-group-item.active .badge,
520 | .list-group-item.active:hover .badge,
521 | .list-group-item.active:focus .badge {
522 | text-shadow: none;
523 | }
524 | .panel {
525 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
526 | box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
527 | }
528 | .panel-default > .panel-heading {
529 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
530 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
531 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
532 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
533 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
534 | background-repeat: repeat-x;
535 | }
536 | .panel-primary > .panel-heading {
537 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
538 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
539 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
540 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
541 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
542 | background-repeat: repeat-x;
543 | }
544 | .panel-success > .panel-heading {
545 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
546 | background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
547 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
548 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
549 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
550 | background-repeat: repeat-x;
551 | }
552 | .panel-info > .panel-heading {
553 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
554 | background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
555 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
556 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
557 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
558 | background-repeat: repeat-x;
559 | }
560 | .panel-warning > .panel-heading {
561 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
562 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
563 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
564 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
565 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
566 | background-repeat: repeat-x;
567 | }
568 | .panel-danger > .panel-heading {
569 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
570 | background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
571 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
572 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
573 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
574 | background-repeat: repeat-x;
575 | }
576 | .well {
577 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
578 | background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
579 | background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
580 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
581 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
582 | background-repeat: repeat-x;
583 | border-color: #dcdcdc;
584 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
585 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
586 | }
587 | /*# sourceMappingURL=bootstrap-theme.css.map */
588 |
--------------------------------------------------------------------------------
/css/main.css:
--------------------------------------------------------------------------------
1 |
2 | body{
3 | /*background-image: url("https://desk-fd.zol-img.com.cn/t_s1366x768c5/g5/M00/02/07/ChMkJlqY_RuIan7sAAulVLYx4zcAAlEewK65CoAC6Vs300.jpg");*/
4 | background-repeat:repeat-y;
5 | background-size: cover;
6 | background-attachment: fixed;
7 | padding: 0px;
8 | margin: 0px;
9 | }
10 | .navbar{
11 | min-height: 63px;
12 | }
13 | .navbar-brand{
14 | padding: 3px 15px;
15 | }
16 | .navbar-default {
17 | background-color: #393D49;
18 | }
19 | .navbar {
20 | border-radius:0px!important;
21 | }
22 | .navbar-brand > img {
23 | margin-top: 4px;
24 | }
25 | .navbar-default .navbar-collapse, .navbar-default .navbar-form {
26 | margin-top: 7px;
27 | }
28 | .navbar-default .navbar-nav > li > a {
29 | color: #fff;
30 | font-size: 16px;
31 | }
32 | .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus{
33 | color: #5cb85c;
34 | }
35 | .search_box{
36 | margin: 0px auto;
37 | }
38 | .form-control:focus {
39 | border-color: #5cb85c;
40 | outline: 0;
41 | -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgb(91, 183, 92);
42 | box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgb(92, 184, 92);
43 | }
44 |
45 |
46 | /*查询结果div*/
47 | .result{
48 | width: 90%;
49 | margin: 0px auto;
50 | /*color: #fff;*/
51 | }
52 |
53 |
54 | .tab-pane p{
55 | color:#333;
56 | }
57 |
58 | @keyframes circle{
59 | from{transform:rotate(0)}
60 | to{transform:rotate(360deg)}
61 | }
62 |
63 | .load_icon{
64 | color: #5cb85c;
65 | -webkit-animation: circle 1.5s infinite linear;
66 | animation:circle 1.2s linear infinite
67 | }
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | #pagination_14{
78 | text-align: center;
79 | }
80 | .panel-success{
81 | border:1px solid #4cae4c;
82 | color: gray;
83 | }
84 | .color_green{
85 | background-color: #4cae4c!important;
86 | }
87 | .color_green h3{
88 | color:#fff;
89 | }
90 | #pagination_14{
91 | display: none;
92 | }
93 | .color_green a{
94 | color: red;
95 | float: right;
96 | text-decoration:underline;
97 | }
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 | .red_title{
109 | color:red;
110 | font-weight:bold;
111 | text-align: center;
112 | width: 100%;
113 | float: center;
114 | }
115 | .pagination > .active > a{
116 | background-color: #5cb85c;
117 | border-color: #5cb85c;
118 | }
119 | .red_text{
120 | color:red;
121 | }
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 | /*底部样式*/
131 | .footer{
132 | position: relative;
133 | bottom:10px;
134 | color: #333;
135 | height: 100px;
136 | width: 100%;
137 | text-align: center;
138 | }
139 | .friend_links{
140 | color: #333;
141 | }
142 | .friend_links ul li{
143 | position: fixed;
144 | list-style: none;
145 | display:inline;
146 | padding: 5px;
147 | text-align:0px;
148 | }
149 | .friend_links ul li a{
150 | color: #333;
151 | text-decoration: none;
152 | }
153 | .friend_links ul li a:hover{
154 | color: #5cb85c;
155 | text-decoration: none;
156 | }
157 | .description{
158 | color: #333;
159 | text-align: center;
160 | font-size: 13px;
161 | }
162 | .copyright{
163 | display: inline;
164 | font-size: 13px;
165 | }
166 |
--------------------------------------------------------------------------------
/css/style.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /*ccs-1*/
4 | .whj_jqueryPaginationCss-1{
5 | display: inline-block;
6 | padding: 5px;
7 | user-select: none;
8 | -webkit-user-select: none;
9 | -moz-user-select: none;
10 | -ms-user-select: none;
11 | }
12 | .whj_jqueryPaginationCss-1 div{
13 | display: inline-block;
14 | vertical-align: bottom;
15 | height: 24px;
16 | line-height: 24px;
17 | }
18 | .whj_jqueryPaginationCss-1 .whj_padding{
19 | padding: 1px 9px;
20 | }
21 | .whj_jqueryPaginationCss-1 .whj_bgc{
22 | background-color: #fff;
23 | color: #698ca9;
24 | }
25 | .whj_jqueryPaginationCss-1 .whj_border{
26 | border: 1px solid #5b9fd6;
27 | }
28 | .whj_jqueryPaginationCss-1 .whj_color{
29 | color: #698ca9;
30 | }
31 | .whj_jqueryPaginationCss-1 .whj_hover:hover{
32 | background-color: #d4f1ff;
33 | color: #698ca9;
34 | cursor: pointer;
35 | }
36 | .whj_jqueryPaginationCss-1 .whj_checked{
37 | background-color: #d4f1ff;
38 | color: #698ca9;
39 | }
40 | .whj_jqueryPaginationCss-1 .whj_hoverDisable{
41 | opacity: 0.5;
42 | }
43 | .whj_jqueryPaginationCss-1 select{
44 | height: 28px;
45 | vertical-align: bottom;
46 | padding: 0px;
47 | outline: none;
48 | }
49 | .whj_jqueryPaginationCss-1 input{
50 | padding: 0px;
51 | height: 26px;
52 | outline: none;
53 | text-align: center;
54 | width: 60px;
55 | vertical-align: bottom;
56 | }
57 | .whj_jqueryPaginationCss-1 div,.whj_jqueryPaginationCss-1 input,.whj_jqueryPaginationCss-1 select{
58 | margin: 2px;
59 | }
60 |
61 | /*ccs-2*/
62 | .whj_jqueryPaginationCss-2{
63 | display: inline-block;
64 | padding: 5px;
65 | user-select: none;
66 | -webkit-user-select: none;
67 | -moz-user-select: none;
68 | -ms-user-select: none;
69 | }
70 | .whj_jqueryPaginationCss-2 div{
71 | display: inline-block;
72 | vertical-align: bottom;
73 | height: 24px;
74 | line-height: 24px;
75 | }
76 | .whj_jqueryPaginationCss-2 .whj_padding{
77 | padding: 1px 9px;
78 | }
79 | .whj_jqueryPaginationCss-2 .whj_bgc{
80 | background-color: #5194ca;
81 | color: #fff;
82 | }
83 | .whj_jqueryPaginationCss-2 .whj_border{
84 | border: 1px solid #5194ca;
85 | }
86 | .whj_jqueryPaginationCss-2 .whj_color{
87 | color: #5194ca;
88 | }
89 | .whj_jqueryPaginationCss-2 .whj_hover:hover{
90 | background-color: #d4f1ff;
91 | color: #5194ca;
92 | cursor: pointer;
93 | }
94 | .whj_jqueryPaginationCss-2 .whj_checked{
95 | background-color: #d4f1ff;
96 | color: #5194ca;
97 | }
98 | .whj_jqueryPaginationCss-2 .whj_hoverDisable{
99 | opacity: 0.7;
100 | }
101 | .whj_jqueryPaginationCss-2 select{
102 | height: 28px;
103 | vertical-align: bottom;
104 | padding: 0px;
105 | outline: none;
106 | }
107 | .whj_jqueryPaginationCss-2 input{
108 | padding: 0px;
109 | height: 26px;
110 | outline: none;
111 | text-align: center;
112 | width: 60px;
113 | vertical-align: bottom;
114 | }
115 | .whj_jqueryPaginationCss-2 div,.whj_jqueryPaginationCss-2 input,.whj_jqueryPaginationCss-2 select{
116 | margin: 2px;
117 | }
118 |
119 | /*ccs-3*/
120 | .whj_jqueryPaginationCss-3{
121 | display: inline-block;
122 | padding: 5px;
123 | user-select: none;
124 | -webkit-user-select: none;
125 | -moz-user-select: none;
126 | -ms-user-select: none;
127 | }
128 | .whj_jqueryPaginationCss-3 div{
129 | display: inline-block;
130 | vertical-align: bottom;
131 | height: 24px;
132 | line-height: 24px;
133 | }
134 | .whj_jqueryPaginationCss-3 .whj_padding{
135 | padding: 1px 9px;
136 | }
137 | .whj_jqueryPaginationCss-3 .whj_bgc{
138 | background-color: #7a7b7b;
139 | color: #fff;
140 | }
141 | .whj_jqueryPaginationCss-3 .whj_border{
142 | border: 1px solid #929292;
143 | }
144 | .whj_jqueryPaginationCss-3 .whj_color{
145 | color: #929292;
146 | }
147 | .whj_jqueryPaginationCss-3 .whj_hover:hover{
148 | background-color: #e0dddd;
149 | color: #7a7b7b;
150 | cursor: pointer;
151 | }
152 | .whj_jqueryPaginationCss-3 .whj_checked{
153 | background-color: #e0dddd;
154 | color: #7a7b7b;
155 | }
156 | .whj_jqueryPaginationCss-3 .whj_hoverDisable{
157 | opacity: 0.5;
158 | }
159 | .whj_jqueryPaginationCss-3 select{
160 | height: 28px;
161 | vertical-align: bottom;
162 | padding: 0px;
163 | outline: none;
164 | }
165 | .whj_jqueryPaginationCss-3 input{
166 | padding: 0px;
167 | height: 26px;
168 | outline: none;
169 | text-align: center;
170 | width: 60px;
171 | vertical-align: bottom;
172 | }
173 | .whj_jqueryPaginationCss-3 div,.whj_jqueryPaginationCss-3 input,.whj_jqueryPaginationCss-3 select{
174 | margin: 2px;
175 | }
176 |
177 | /*ccs-4*/
178 | .whj_jqueryPaginationCss-4{
179 | display: inline-block;
180 | padding: 5px;
181 | user-select: none;
182 | -webkit-user-select: none;
183 | -moz-user-select: none;
184 | -ms-user-select: none;
185 | }
186 | .whj_jqueryPaginationCss-4 div{
187 | display: inline-block;
188 | vertical-align: bottom;
189 | height: 24px;
190 | line-height: 24px;
191 | }
192 | .whj_jqueryPaginationCss-4 .whj_padding{
193 | padding: 1px 9px;
194 | }
195 | .whj_jqueryPaginationCss-4 .whj_bgc{
196 | background-color: #f5f5f5;
197 | color: #907272;
198 | }
199 | .whj_jqueryPaginationCss-4 .whj_border{
200 | border: 1px solid #907272;
201 | }
202 | .whj_jqueryPaginationCss-4 .whj_color{
203 | color: #907272;
204 | }
205 | .whj_jqueryPaginationCss-4 .whj_hover:hover{
206 | background-color: #afacac;
207 | color: #fff;
208 | cursor: pointer;
209 | }
210 | .whj_jqueryPaginationCss-4 .whj_checked{
211 | background-color: #afacac;
212 | color: #fff;
213 | }
214 | .whj_jqueryPaginationCss-4 .whj_hoverDisable{
215 | opacity: 0.5;
216 | }
217 | .whj_jqueryPaginationCss-4 select{
218 | height: 28px;
219 | vertical-align: bottom;
220 | padding: 0px;
221 | outline: none;
222 | }
223 | .whj_jqueryPaginationCss-4 input{
224 | padding: 0px;
225 | height: 26px;
226 | outline: none;
227 | text-align: center;
228 | width: 60px;
229 | vertical-align: bottom;
230 | }
231 | .whj_jqueryPaginationCss-4 div,.whj_jqueryPaginationCss-4 input,.whj_jqueryPaginationCss-4 select{
232 | margin: 2px;
233 | }
234 |
235 | /*ccs-5*/
236 | .whj_jqueryPaginationCss-5{
237 | display: inline-block;
238 | padding: 5px;
239 | user-select: none;
240 | -webkit-user-select: none;
241 | -moz-user-select: none;
242 | -ms-user-select: none;
243 | }
244 | .whj_jqueryPaginationCss-5 div{
245 | display: inline-block;
246 | vertical-align: bottom;
247 | height: 24px;
248 | line-height: 24px;
249 | }
250 | .whj_jqueryPaginationCss-5 .whj_padding{
251 | padding: 1px 9px;
252 | }
253 | .whj_jqueryPaginationCss-5 .whj_bgc{
254 | background-color: #199eaf;
255 | color: #fff;
256 | }
257 | .whj_jqueryPaginationCss-5 .whj_border{
258 | border: 1px solid #199eaf;
259 | }
260 | .whj_jqueryPaginationCss-5 .whj_color{
261 | color: #199eaf;
262 | }
263 | .whj_jqueryPaginationCss-5 .whj_hover:hover{
264 | background-color: #d4f1ff;
265 | color: #199eaf;
266 | cursor: pointer;
267 | }
268 | .whj_jqueryPaginationCss-5 .whj_checked{
269 | background-color: #d4f1ff;
270 | color: #199eaf;
271 | }
272 | .whj_jqueryPaginationCss-5 .whj_hoverDisable{
273 | opacity: 0.5;
274 | }
275 | .whj_jqueryPaginationCss-5 select{
276 | height: 28px;
277 | vertical-align: bottom;
278 | padding: 0px;
279 | outline: none;
280 | }
281 | .whj_jqueryPaginationCss-5 input{
282 | padding: 0px;
283 | height: 26px;
284 | outline: none;
285 | text-align: center;
286 | width: 60px;
287 | vertical-align: bottom;
288 | }
289 | .whj_jqueryPaginationCss-5 div,.whj_jqueryPaginationCss-5 input,.whj_jqueryPaginationCss-5 select{
290 | margin: 2px;
291 | }
292 |
--------------------------------------------------------------------------------
/fonts/fonts.txt:
--------------------------------------------------------------------------------
1 | 字体文件
2 |
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/go/index.php:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/images/icon_police.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/images/icon_police.png
--------------------------------------------------------------------------------
/images/images.txt:
--------------------------------------------------------------------------------
1 | images目录
2 |
--------------------------------------------------------------------------------
/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/images/logo.png
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | WTFScan-网络资产指纹在线扫描器V1.0
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
54 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 | 域名 |
121 | |
122 |
123 |
124 | 语言 |
125 | |
126 |
127 |
128 | 服务器 |
129 | |
130 |
131 |
132 | 中间件 |
133 | |
134 |
135 |
136 | 指纹 |
137 | |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 | 顶级域名 |
150 | |
151 |
152 |
153 | Email |
154 | |
155 |
156 |
157 | 注册人 |
158 | |
159 |
160 |
161 | DNS解析 |
162 | |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 | IP |
176 | |
177 |
178 |
179 | IP定位 |
180 | |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 | 子域名 |
193 | |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 | 开放端口 |
222 | |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 | 开放端口 |
238 | |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
311 |
312 |
587 |
588 |
589 |
590 |
--------------------------------------------------------------------------------
/js/pagination.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author: xgc-whj
3 | * @date: 2017-12-27
4 | * @version: v1.1
5 | */
6 | /**
7 | var options = {
8 | //可选,每页显示条数下拉框,默认下拉框5条/页(默认)、10条/页、15条/页、20条/页
9 | pageSizeOpt: [
10 | {'value': 5, 'text': '5条/页', 'selected': true},
11 | {'value': 10, 'text': '10条/页'},
12 | {'value': 15, 'text': '15条/页'},
13 | {'value': 20, 'text': '20条/页'}
14 | ],
15 | //可选,css设置,可设置值:css-1,css-2,css-3,css-4,css-5,默认css-1,可自定义样式
16 | css: 'css-1',
17 | //可选,总页数
18 | totalPage: 100,
19 | //可选,展示页码数量,默认5个页码数量
20 | showPageNum: 5,
21 | //可选,首页按钮展示文本,默认显示文本为首页
22 | firstPage: '首页',
23 | //可选,上一页按钮展示文本,默认显示文本为上一页
24 | previousPage: '上一页',
25 | //可选,下一页按钮展示文本,默认显示文本为下一页
26 | nextPage: '下一页',
27 | //可选,尾页按钮展示文本,默认显示文本为尾页
28 | lastPage: '尾页',
29 | //可选,跳至展示文本,默认显示文本为跳至
30 | skip: '跳至',
31 | //可选,确认按钮展示文本,默认显示文本为确认
32 | confirm: '确认',
33 | //可选,刷新按钮展示文本,默认显示文本为刷新
34 | refresh: '刷新',
35 | //可选,共{}页展示文本,默认显示文本为共{}页,其中{}会在js具体转化为数字
36 | totalPageText: '共{}页',
37 | //可选,是否展示首页与尾页,默认true
38 | isShowFL: true,
39 | //可选,是否展示每页N条下拉框,默认true
40 | isShowPageSizeOpt: true,
41 | //可选,是否展示跳到指定页数,默认true
42 | isShowSkip: true,
43 | //可选,是否展示刷新,默认true
44 | isShowRefresh: true,
45 | //可选,是否展示共{}页,默认true
46 | isShowTotalPage: true,
47 | //可选,是否重新设置当前页码及总页数,当请求服务器返回数据时,默认false
48 | isResetPage: false,
49 | //必选,回掉函数,返回参数:第一个参数为页码,第二个参数为每页显示N条
50 | callBack: function (currPage, pageSize) {
51 | console.log('currPage:' + currPage + ' pageSize:' + pageSize);
52 | }
53 | };
54 | */
55 | (function(a){$.fn.extend({pagination:function(b,j,c){var g=$(this);if(b==="getPage"){return[g.get(0).pageText.currPage,g.get(0).pageText.totalPage]}else{if(b==="setPage"){g.get(0).pageText.currPage=j;g.get(0).pageText.totalPage=c;if(g.get(0).pageText.pageSize!=null){g.get(0).pageText.totalSize=c*g.get(0).pageText.pageSize}}else{if(g.get(0).pageText==null){var m=[{value:5,text:"5条/页",selected:true},{value:10,text:"10条/页"},{value:15,text:"15条/页"},{value:20,text:"20条/页"}];if(b.pageSizeOpt!=null){m=b.pageSizeOpt}var p=m[0].value;for(var t in m){if(m[t].selected){p=m[t].value;break}}var d="whj_jqueryPaginationCss-1";if(b.css!=null){switch(b.css){case"css-2":d="whj_jqueryPaginationCss-2";break;case"css-3":d="whj_jqueryPaginationCss-3";break;case"css-4":d="whj_jqueryPaginationCss-4";break;case"css-5":d="whj_jqueryPaginationCss-5";break;default:d=b.css}}g.get(0).pageText={css:d,pageSizeOpt:m,totalPage:b.totalPage,showPageNum:b.showPageNum!=null?b.showPageNum:5,firstPage:b.firstPage!=null?b.firstPage:"首页",previousPage:b.previousPage!=null?b.previousPage:"上一页",nextPage:b.nextPage!=null?b.nextPage:"下一页",lastPage:b.lastPage!=null?b.lastPage:"尾页",skip:b.skip!=null?b.skip:"跳至",confirm:b.confirm!=null?b.confirm:"确认",refresh:b.refresh!=null?b.refresh:"刷新",totalPageText:b.totalPageText!=null?b.totalPageText:"共{}页",isShowFL:b.isShowFL==false?false:true,isShowPageSizeOpt:b.isShowPageSizeOpt==false?false:true,isShowSkip:b.isShowSkip==false?false:true,isShowRefresh:b.isShowRefresh==false?false:true,isShowTotalPage:b.isShowTotalPage==false?false:true,isResetPage:b.isResetPage==true?true:false,callBack:b.callBack,currPage:1,totalSize:p*(b.totalPage!=null?b.totalPage:0),pageSize:(b.isShowPageSizeOpt==false?false:true)?p:null}}}}if(g.get(0).pageText.totalPage==null||g.get(0).pageText.totalPage<1){g.html("");return}var h=g.get(0).pageText.currPage<2?"whj_hoverDisable":"whj_hover";var e=g.get(0).pageText.currPage>=g.get(0).pageText.totalPage?"whj_hoverDisable":"whj_hover";var o=0;var f=0;var u=parseInt(g.get(0).pageText.showPageNum/2);if(g.get(0).pageText.showPageNum<2){f=g.get(0).pageText.currPage}else{if(g.get(0).pageText.totalPage<=parseInt(g.get(0).pageText.showPageNum)){f=1}else{if(g.get(0).pageText.currPage+u>g.get(0).pageText.totalPage){f=g.get(0).pageText.totalPage-g.get(0).pageText.showPageNum+1}else{if(g.get(0).pageText.currPage-u<1){f=1}else{f=g.get(0).pageText.currPage-u}}}}var q='';if(g.get(0).pageText.isShowFL){q+='
'+g.get(0).pageText.firstPage+"
"}q+='
'+g.get(0).pageText.previousPage+"
";if(g.get(0).pageText.showPageNum>0){for(var l=f;l<=g.get(0).pageText.totalPage;l++){o++;var s=g.get(0).pageText.currPage==l?"whj_checked":"whj_hover";q+='
'+l+"
";if(o>=g.get(0).pageText.showPageNum){break}}}q+='
'+g.get(0).pageText.nextPage+"
";if(g.get(0).pageText.isShowFL){q+='
'+g.get(0).pageText.lastPage+"
"}if(g.get(0).pageText.isShowPageSizeOpt){q+='
"}if(g.get(0).pageText.isShowSkip){q+='
'+g.get(0).pageText.skip+'
'+g.get(0).pageText.confirm+"
"}if(g.get(0).pageText.isShowRefresh){q+='
'+g.get(0).pageText.refresh+"
"}if(g.get(0).pageText.isShowTotalPage){var n=g.get(0).pageText.totalPageText.replace("{}",g.get(0).pageText.totalPage);q+='
'+n+"
"}q+="
";g.html(q);if(g.get(0).pageText.isShowFL){if(h=="whj_hover"){g.find("div[name='whj_firstPage']").click(function(){g.get(0).pageText.currPage=1;r()})}if(e=="whj_hover"){g.find("div[name='whj_lastPage']").click(function(){g.get(0).pageText.currPage=g.get(0).pageText.totalPage;r()})}}if(h=="whj_hover"){g.find("div[name='whj_previousPage']").click(function(){g.get(0).pageText.currPage=g.get(0).pageText.currPage-1;r()})}if(e=="whj_hover"){g.find("div[name='whj_nextPage']").click(function(){g.get(0).pageText.currPage=g.get(0).pageText.currPage+1;r()})}if(g.find("div[name='whj_page']").length>0){g.find("div[name='whj_page']").click(function(){if(!$(this).hasClass("whj_checked")){g.get(0).pageText.currPage=+$(this).data("page");r()}})}if(g.get(0).pageText.isShowPageSizeOpt){g.find("select[name='whj_pageSize']").change(function(){var x=+$(this).val();var y=parseInt(g.get(0).pageText.totalSize/x);if(y*x0){i=+i;if(i<1){i=1}else{if(i>g.get(0).pageText.totalPage){i=g.get(0).pageText.totalPage}}g.get(0).pageText.currPage=i;r()}})}if(g.get(0).pageText.isShowRefresh){g.find("div[name='whj_refresh']").click(function(){r()})}function r(){if(g.get(0).pageText.isResetPage==false){g.pagination()}g.get(0).pageText.callBack(g.get(0).pageText.currPage,g.get(0).pageText.pageSize)}}})})(window);
--------------------------------------------------------------------------------
/wtf/.idea/.name:
--------------------------------------------------------------------------------
1 | wtf
--------------------------------------------------------------------------------
/wtf/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/wtf/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/wtf/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/wtf/.idea/workspace.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 | 1523168869590
118 |
119 | 1523168869590
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
150 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
--------------------------------------------------------------------------------
/wtf/.idea/wtf.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/wtf/app/__init__.py:
--------------------------------------------------------------------------------
1 | from flask import Flask
2 | from config import config
3 | from flask_sqlalchemy import SQLAlchemy
4 | from .api import api
5 |
6 | db=SQLAlchemy()
7 |
8 | blueprints=[(api,'/api')]
9 |
10 |
11 | def create_app():
12 | app=Flask(__name__)
13 | app.config.from_object(config['default'])
14 |
15 | db.init_app(app)
16 |
17 | init_blueprint(app, blueprints)
18 |
19 | return app
20 |
21 |
22 | def init_blueprint(app,blueprint):
23 | for item in blueprint:
24 | app.register_blueprint(item[0],url_prefix=item[1])
--------------------------------------------------------------------------------
/wtf/app/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/__init__.pyc
--------------------------------------------------------------------------------
/wtf/app/__pycache__/__init__.cpython-36.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/__pycache__/__init__.cpython-36.pyc
--------------------------------------------------------------------------------
/wtf/app/api/Whois.py:
--------------------------------------------------------------------------------
1 | from . import api
2 | from ..utils import *
3 | from whois import whois
4 | from flask import request
5 |
6 |
7 | @api.route('/whois')
8 | def get_whois():
9 | target = str(request.args.get('target', ''))
10 | if target.startswith('http://') or target.startswith('https://'):
11 | domain = target.split('/')[2]
12 | else:
13 | domain = target.split('/')[0]
14 | return success(whois(domain))
15 |
16 |
--------------------------------------------------------------------------------
/wtf/app/api/Whois.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/Whois.pyc
--------------------------------------------------------------------------------
/wtf/app/api/__init__.py:
--------------------------------------------------------------------------------
1 | from flask import Blueprint
2 |
3 | api=Blueprint('api',__name__)
4 |
5 | import baseinfo
6 | from .cms import whatcms
7 | import Whois
8 | from .ip2area import ip
9 | import subdomain
10 | import c_section
11 | import portscan
12 | import simple_portscan
13 | from .dirscan import dirscan
14 |
--------------------------------------------------------------------------------
/wtf/app/api/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/__init__.pyc
--------------------------------------------------------------------------------
/wtf/app/api/baseinfo.py:
--------------------------------------------------------------------------------
1 | from . import api
2 | from ..utils import *
3 | from flask import request
4 | import requests
5 | from flask import current_app
6 | import socket
7 |
8 |
9 | @api.route('/baseinfo')
10 | def base():
11 | target=str(request.args.get('target',''))
12 | if target.startswith('http://') or target.startswith('https://'):
13 | domain=target.split('/')[2]
14 | return get_info(target,domain)
15 | else:
16 | domain = target.split('/')[0]
17 | target='http://'+target
18 | return get_info(target,domain)
19 |
20 |
21 | def get_info(target,domain):
22 | headers=current_app.config.get('HEADERS')
23 | r=requests.get(target,headers=headers)
24 | info={}
25 | info['server']=str(r.headers.get('server','nothing'))
26 | info['language']=str(r.headers.get('X-Powered-By','nothing'))
27 | try:
28 | info['ip'] = socket.getaddrinfo(domain, 80)[0][4][0]
29 | except Exception,e:
30 | info['ip']='nothing'
31 | if 'iis' in info['server'].lower():
32 | info['os']="windows"
33 | else:
34 | info['os']='Linux'
35 |
36 | return success(data=info)
--------------------------------------------------------------------------------
/wtf/app/api/baseinfo.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/baseinfo.pyc
--------------------------------------------------------------------------------
/wtf/app/api/c_section.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 | '''
3 | c段扫描
4 | '''
5 |
6 | from . import api
7 | import requests
8 | from flask import request
9 | from app.utils import *
10 | from flask import current_app
11 | from collections import defaultdict
12 | import json
13 |
14 | @api.route('/c')
15 | def get_c_section():
16 | headers=current_app.config.get('HEADERS')
17 | target = str(request.args.get('target', ''))
18 | c_ip=url2ip(target)
19 | items=c_ip.split('.')
20 | url = "http://www.webscan.cc"
21 | data=defaultdict(list)
22 | for i in range(1,255):
23 | ip=items[0]+'.'+items[1]+'.'+items[2]+'.'+str(i)
24 | print ip
25 | query={
26 | 'action':'query',
27 | 'ip':ip
28 | }
29 | try:
30 | r = requests.get(url=url, params=query, headers=headers)
31 | except Exception,e:
32 | pass
33 | res=r.text.encode('GBK','ignore')
34 | if res != "null":
35 | res_datas=None
36 | print res
37 | try:
38 | res_datas = r.json()
39 | except Exception,e:
40 | pass
41 | if res_datas:
42 | for i in res_datas:
43 | data[ip].append(i)
44 | return success(data)
45 |
--------------------------------------------------------------------------------
/wtf/app/api/c_section.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/c_section.pyc
--------------------------------------------------------------------------------
/wtf/app/api/cms/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/cms/__init__.py
--------------------------------------------------------------------------------
/wtf/app/api/cms/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/cms/__init__.pyc
--------------------------------------------------------------------------------
/wtf/app/api/cms/cms.txt:
--------------------------------------------------------------------------------
1 | #范例:链接------关键字------CMS别称
2 | #范例:连接------正则表达式------匹配关键字------CMS别称
3 | /install/------aspcms------AspCMS
4 | /about/_notes/dwsync.xml------aspcms------AspCMS
5 | /admin/_Style/_notes/dwsync.xml------aspcms------AspCMS
6 | /apply/_notes/dwsync.xml------aspcms------AspCMS
7 | /config/_notes/dwsync.xml------aspcms------AspCMS
8 | /fckeditor/fckconfig.js------aspcms------AspCMS
9 | /gbook/_notes/dwsync.xml------aspcms------AspCMS
10 | /inc/_notes/dwsync.xml------aspcms------AspCMS
11 | /plug/comment.html------aspcms------AspCMS
12 |
13 | #范例:链接------关键字------CMS别称
14 | #范例:连接------正则表达式------匹配关键字------CMS别称
15 | /data/admin/allowurl.txt------dedecms------DedeCMS(织梦)
16 | /data/index.html------dedecms------DedeCMS(织梦)
17 | /data/js/index.html------dedecms------DedeCMS(织梦)
18 | /data/mytag/index.html------dedecms------DedeCMS(织梦)
19 | /data/sessions/index.html------dedecms------DedeCMS(织梦)
20 | /data/textdata/index.html------dedecms------DedeCMS(织梦)
21 | /dede/action/css_body.css------dedecms------DedeCMS(织梦)
22 | /dede/css_body.css------dedecms------DedeCMS(织梦)
23 | /dede/templets/article_coonepage_rule.htm------dedecms------DedeCMS(织梦)
24 | /include/alert.htm------dedecms------DedeCMS(织梦)
25 | /member/images/base.css------dedecms------DedeCMS(织梦)
26 | /member/js/box.js------dedecms------DedeCMS(织梦)
27 | /php/modpage/readme.txt------dedecms------DedeCMS(织梦)
28 | /plus/sitemap.html------dedecms------DedeCMS(织梦)
29 | /setup/license.html------dedecms------DedeCMS(织梦)
30 | /special/index.html------dedecms------DedeCMS(织梦)
31 | /templets/default/style/dedecms.css------dedecms------DedeCMS(织梦)
32 | /company/template/default/search_list.htm------dedecms------DedeCMS(织梦)
33 | #范例:链接------关键字------CMS别称
34 | #范例:连接------正则表达式------匹配关键字------CMS别称
35 | /------Powered by Discuz!------Discuz(康盛)
36 | /robots.txt------discuz------Discuz(康盛)
37 | /bbcode.js------discuz------Discuz(康盛)
38 | /newsfader.js------discuz------Discuz(康盛)
39 | /templates.cdb------discuz------Discuz(康盛)
40 | /u2upopup.js------discuz------Discuz(康盛)
41 | /admin/discuzfiles.md5------discuz------Discuz(康盛)
42 | /api/manyou/cloud_channel.htm------discuz------Discuz(康盛)
43 | /images/admincp/admincp.js------discuz------Discuz(康盛)
44 | /include/javascript/ajax.js------discuz------Discuz(康盛)
45 | /mspace/default/style.ini------discuz------Discuz(康盛)
46 | /plugins/manyou/discuz_plugin_manyou.xml------discuz------Discuz(康盛)
47 | /source/plugin/myapp/discuz_plugin_myapp.xml------discuz------Discuz(康盛)
48 | /static/js/admincp.js------discuz------Discuz(康盛)
49 | /template/default/common/common.css------discuz------Discuz(康盛)
50 | /uc_server/view/default/admin_frame_main.htm------discuz------Discuz(康盛)
51 | /bbcode.js------discuz------Discuz(康盛)
52 | /newsfader.js------discuz------Discuz(康盛)
53 | /templates.cdb------discuz------Discuz(康盛)
54 | /u2upopup.js------discuz------Discuz(康盛)
55 | /mspace/default1/style.ini------discuz------Discuz(康盛)
56 | /uc_server/view/default/admin_frame_main.htm------discuz------Discuz(康盛)
57 | #范例:链接------关键字------CMS别称
58 | #范例:连接------正则表达式------匹配关键字------CMS别称
59 | /INSTALL------drupal------Drupal(水滴)
60 | /MAINTAINERS------drupal------Drupal(水滴)
61 | /.gitattributes------drupal------Drupal(水滴)
62 | /.htaccess------drupal------Drupal(水滴)
63 | /example.gitignore------drupal------Drupal(水滴)
64 | /README.txt------drupal------Drupal(水滴)
65 | /themes/README.txt------drupal------Drupal(水滴)
66 | /sites/README.txt------drupal------Drupal(水滴)
67 | /profiles/README.txt------drupal------Drupal(水滴)
68 | /modules/README.txt------drupal------Drupal(水滴)
69 | /core/CHANGELOG.txt------drupal------Drupal(水滴)
70 | /core/vendor/README.txt------drupal------Drupal(水滴)
71 | /.editorconfig------drupal------Drupal(水滴)
72 | /CHANGELOG.txt------drupal------Drupal(水滴)
73 | /COPYRIGHT.txt------drupal------Drupal(水滴)
74 | /INSTALL.mysql.txt------drupal------Drupal(水滴)
75 | /INSTALL.pgsql.txt------drupal------Drupal(水滴)
76 | /INSTALL.sqlite.txt------drupal------Drupal(水滴)
77 | /INSTALL.txt------drupal------Drupal(水滴)
78 | /MAINTAINERS.txt------drupal------Drupal(水滴)
79 | /UPGRADE.txt------drupal------Drupal(水滴)
80 | /themes/bartik/color/preview.js------drupal------Drupal(水滴)
81 | /sites/all/themes/README.txt------drupal------Drupal(水滴)
82 | /sites/all/modules/README.txt------drupal------Drupal(水滴)
83 | /scripts/test.script------drupal------Drupal(水滴)
84 | /modules/user/user.info------drupal------Drupal(水滴)
85 | /misc/ajax.js------drupal------Drupal(水滴)
86 | /themes/tests/README.txt------drupal------Drupal(水滴)
87 | /sites/all/README.txt------drupal------Drupal(水滴)
88 | /INSTALL------drupal------Drupal(水滴)
89 | /MAINTAINERS------drupal------Drupal(水滴)
90 | /.gitattributes------drupal------Drupal(水滴)
91 | /.htaccess------drupal------Drupal(水滴)
92 | /example.gitignore------drupal------Drupal(水滴)
93 | /README.txt------drupal------Drupal(水滴)
94 | /.editorconfig------drupal------Drupal(水滴)
95 | /CHANGELOG.txt------drupal------Drupal(水滴)
96 | /COPYRIGHT.txt------drupal------Drupal(水滴)
97 | /INSTALL.mysql.txt------drupal------Drupal(水滴)
98 | /INSTALL.pgsql.txt------drupal------Drupal(水滴)
99 | /INSTALL.sqlite.txt------drupal------Drupal(水滴)
100 | /INSTALL.txt------drupal------Drupal(水滴)
101 | /MAINTAINERS.txt------drupal------Drupal(水滴)
102 | /UPGRADE.txt------drupal------Drupal(水滴)
103 | /modules/legacy/legacy.info------drupal------Drupal(水滴)
104 | #范例:链接------关键字------CMS别称
105 | #范例:连接------正则表达式------匹配关键字------CMS别称
106 | /Admin/images/admin.js------dvbbs------Dvbbs(动网)
107 | /admin/inc/admin.js------dvbbs------Dvbbs(动网)
108 | /admin/left.htm------dvbbs------Dvbbs(动网)
109 | /boke/CacheFile/System.config------dvbbs------Dvbbs(动网)
110 | /boke/Script/Dv_form.js------dvbbs------Dvbbs(动网)
111 | /boke/Skins/Default/xml/index.xslt------dvbbs------Dvbbs(动网)
112 | /boke/Skins/dvskin/xml/index.xslt------dvbbs------Dvbbs(动网)
113 | /Css/aqua/style.css------dvbbs------Dvbbs(动网)
114 | /Css/cndw/pub_cndw.css------dvbbs------Dvbbs(动网)
115 | /Css/gray/style.css------dvbbs------Dvbbs(动网)
116 | /Css/green/pub_cndw_green.css------dvbbs------Dvbbs(动网)
117 | /Css/red/style.css------dvbbs------Dvbbs(动网)
118 | /Css/yellow/style.css------dvbbs------Dvbbs(动网)
119 | /Data/sitemap_cache.xml------dvbbs------Dvbbs(动网)
120 | /dv_edit/main.js------dvbbs------Dvbbs(动网)
121 | /Dv_ForumNews/Temp_Dv_ForumNews.config------dvbbs------Dvbbs(动网)
122 | /Dv_plus/IndivGroup/js/Dv_form.js------dvbbs------Dvbbs(动网)
123 | /Dv_plus/IndivGroup/Skin/Dispbbs.xslt------dvbbs------Dvbbs(动网)
124 | /Dv_plus/myspace/drag/space.js------dvbbs------Dvbbs(动网)
125 | /Dv_plus/myspace/script/fuc_setting.xslt------dvbbs------Dvbbs(动网)
126 | /images/manage/admin.js------dvbbs------Dvbbs(动网)
127 | /images/post/DhtmlEdit.js------dvbbs------Dvbbs(动网)
128 | /inc/Admin_transformxhml.xslt------dvbbs------Dvbbs(动网)
129 | /inc/Templates/bbsinfo.xml------dvbbs------Dvbbs(动网)
130 | /Plus_popwan/CacheFile/sn.config------dvbbs------Dvbbs(动网)
131 | /Resource/Admin/pub_html1.htm------dvbbs------Dvbbs(动网)
132 | /Resource/Classical/boardhelp_html4.htm------dvbbs------Dvbbs(动网)
133 | /Resource/Format_Fuc.xslt------dvbbs------Dvbbs(动网)
134 | /Resource/Template_1/boardhelp_html4.htm------dvbbs------Dvbbs(动网)
135 | /Skins/aspsky_1.css------dvbbs------Dvbbs(动网)
136 | /skins/classical.css------dvbbs------Dvbbs(动网)
137 | /skins/myspace/default01/demo.htm------dvbbs------Dvbbs(动网)
138 | #范例:链接------关键字------CMS别称
139 | #范例:连接------正则表达式------匹配关键字------CMS别称
140 | /install/------ecshop------Ecshop(商派)
141 | /admin/ecshopfiles.md5------ecshop------Ecshop(商派)
142 | /admin/help/zh_cn/database.xml------ecshop------Ecshop(商派)
143 | /admin/js/validator.js------ecshop------Ecshop(商派)
144 | /admin/templates/about_us.htm------ecshop------Ecshop(商派)
145 | /alipay.html------ecshop------Ecshop(商派)
146 | /data/cycle_image.xml------ecshop------Ecshop(商派)
147 | /data/flashdata/default/cycle_image.xml------ecshop------Ecshop(商派)
148 | /demo/js/check.js------ecshop------Ecshop(商派)
149 | /demo/templates/faq_en_us_utf-8.htm------ecshop------Ecshop(商派)
150 | /demo/zh_cn.sql------ecshop------Ecshop(商派)
151 | /themes/default/library/member.lbi------ecshop------Ecshop(商派)
152 | /themes/default/style.css------ecshop------Ecshop(商派)
153 | /themes/default_old/activity.dwt------ecshop------Ecshop(商派)
154 | /install/data/data_en_us.sql------ecshop------Ecshop(商派)
155 | /install/data/demo/zh_cn.sql------ecshop------Ecshop(商派)
156 | /install/js/transport.js------ecshop------Ecshop(商派)
157 | /install/templates/license_en_us.htm------ecshop------Ecshop(商派)
158 | /js/transport.js------ecshop------Ecshop(商派)
159 | /mobile/templates/article.html------ecshop------Ecshop(商派)
160 | /themes/Blueocean/exchange_goods.dwt------ecshop------Ecshop(商派)
161 | /themes/Blueocean/library/comments.lbi------ecshop------Ecshop(商派)
162 | /themes/default_old/library/comments.lbi------ecshop------Ecshop(商派)
163 | /wap/templates/article.wml------ecshop------Ecshop(商派)
164 | /widget/blog_sohu.xhtml------ecshop------Ecshop(商派)
165 | #范例:链接------关键字------CMS别称
166 | #范例:连接------正则表达式------匹配关键字------CMS别称
167 | /robots.txt------emlog------Emlog
168 | /wlwmanifest.xml------emlog------Emlog
169 | /content/cache/links------emlog------Emlog
170 | /content/cache/options------emlog------Emlog
171 | /content/cache/blogger------emlog------Emlog
172 | /admin/views/default/main.css------emlog------Emlog
173 | /admin/views/style/default/style.css------emlog------Emlog
174 | /admin/views/style/green/style.css------emlog------Emlog
175 | /content/templates/default/main.css------emlog------Emlog
176 | /content/templates/default/tpl.ini------emlog------Emlog
177 | #范例:链接------关键字------CMS别称
178 | #范例:连接------正则表达式------匹配关键字------CMS别称
179 | /robots.txt------empirecms------EmpireCMS(帝国)
180 | /d/file/index.html------empirecms------EmpireCMS(帝国)
181 | /d/file/p/index.html------empirecms------EmpireCMS(帝国)
182 | /d/js/acmsd/index.html------empirecms------EmpireCMS(帝国)
183 | /d/js/class/index.html------empirecms------EmpireCMS(帝国)
184 | /d/js/js/hotnews.js------empirecms------EmpireCMS(帝国)
185 | /d/js/pic/index.html------empirecms------EmpireCMS(帝国)
186 | /d/js/vote/index.html------empirecms------EmpireCMS(帝国)
187 | /d/txt/index.html------empirecms------EmpireCMS(帝国)
188 | /e/admin/adminstyle/1/page/about.htm------empirecms------EmpireCMS(帝国)
189 | /e/admin/ecmseditor/images/blank.html------empirecms------EmpireCMS(帝国)
190 | /e/admin/ecmseditor/infoeditor/epage/images/blank.html------empirecms------EmpireCMS(帝国)
191 | /e/admin/user/data/certpage.txt------empirecms------EmpireCMS(帝国)
192 | /e/data/ecmseditor/images/blank.html------empirecms------EmpireCMS(帝国)
193 | /e/data/fc/index.html------empirecms------EmpireCMS(帝国)
194 | /e/data/html/cjhtml.txt------empirecms------EmpireCMS(帝国)
195 | /e/data/template/gbooktemp.txt------empirecms------EmpireCMS(帝国)
196 | /e/data/tmp/cj/index.html------empirecms------EmpireCMS(帝国)
197 | /e/extend/index.html------empirecms------EmpireCMS(帝国)
198 | /e/install/data/empirecms.com.sql------empirecms------EmpireCMS(帝国)
199 | /e/tasks/index.html------empirecms------EmpireCMS(帝国)
200 | /e/tool/feedback/temp/test.txt------empirecms------EmpireCMS(帝国)
201 | /html/index.html------empirecms------EmpireCMS(帝国)
202 | /html/sp/index.html------empirecms------EmpireCMS(帝国)
203 | /install/data/empiredown.com.sql------empirecms------EmpireCMS(帝国)
204 | /s/index.html------empirecms------EmpireCMS(帝国)
205 | /search/index.html------empirecms------EmpireCMS(帝国)
206 | /t/index.html------empirecms------EmpireCMS(帝国)
207 | #范例:链接------关键字------CMS别称
208 | #范例:连接------正则表达式------匹配关键字------CMS别称
209 | /license.txt------espcms------EspCMS(易思)
210 | /------espcms------EspCMS(易思)
211 | /adminsoft/control/connected.php------espcms------EspCMS(易思)
212 | /adminsoft/control/sqlmanage.php------espcms------EspCMS(易思)
213 | /adminsoft/include/admin_language_cn.php------espcms------EspCMS(易思)
214 | /adminsoft/js/control.js------espcms------EspCMS(易思)
215 | /install/dbmysql/db.sql------espcms------EspCMS(易思)
216 | /install/dbmysql/demodb.sql------espcms------EspCMS(易思)
217 | /install/lan_inc.php------espcms------EspCMS(易思)
218 | /install/sys_inc.php------espcms------EspCMS(易思)
219 | /install/templates/step.html------espcms------EspCMS(易思)
220 | /public/class_dbmysql.php------espcms------EspCMS(易思)
221 | /templates/wap/cn/public/footer.html------espcms------EspCMS(易思)
222 | /templates/wap/en/public/footer.html------espcms------EspCMS(易思)
223 | #范例:链接------关键字------CMS别称
224 | #范例:连接------正则表达式------匹配关键字------CMS别称
225 | /Index.html------foosuncms------FoosunCMS(风讯)
226 | /Apsearch.html------foosuncms------FoosunCMS(风讯)
227 | /search.html------foosuncms------FoosunCMS(风讯)
228 | /Tags.html------foosuncms------FoosunCMS(风讯)
229 | /Admin/Collect/vssver2.scc------foosuncms------FoosunCMS(风讯)
230 | /Admin/FreeLabel/vssver2.scc------foosuncms------FoosunCMS(风讯)
231 | /Admin/News/images/vssver2.scc------foosuncms------FoosunCMS(风讯)
232 | /Admin/News/lib/vssver2.scc------foosuncms------FoosunCMS(风讯)
233 | /Admin/PublicSite/vssver2.scc------foosuncms------FoosunCMS(风讯)
234 | /down/index.html------foosuncms------FoosunCMS(风讯)
235 | /Foosun/Admin/Mall/Mall_Factory.Asp------foosuncms------FoosunCMS(风讯)
236 | /FS_Inc/vssver2.scc------foosuncms------FoosunCMS(风讯)
237 | /FS_InterFace/vssver2.scc------foosuncms------FoosunCMS(风讯)
238 | /Install/SQL/Value/site_param.sql------foosuncms------FoosunCMS(风讯)
239 | /manage/collect/MasterPage_Site.master------foosuncms------FoosunCMS(风讯)
240 | /Templets/about/index.htm------foosuncms------FoosunCMS(风讯)
241 | /Templets/pro/cms.htm------foosuncms------FoosunCMS(风讯)
242 | /User/contr/lib/vssver2.scc------foosuncms------FoosunCMS(风讯)
243 | /Users/All_User.Asp------foosuncms------FoosunCMS(风讯)
244 | /Users/Mall/OrderPrint.Asp------foosuncms------FoosunCMS(风讯)
245 | /xml/products/dotnetcmsversion.xml------foosuncms------FoosunCMS(风讯)
246 | #范例:链接------关键字------CMS别称
247 | #范例:连接------正则表达式------匹配关键字------CMS别称
248 | /robots.txt------hdwiki------HdWiki(中文维基)
249 | /js/api.js------hdwiki------HdWiki(中文维基)
250 | /js/editor/editor.js------hdwiki------HdWiki(中文维基)
251 | /js/hdeditor/hdeditor.min.js------hdwiki------HdWiki(中文维基)
252 | /js/hdeditor/skins/content.css------hdwiki------HdWiki(中文维基)
253 | /js/jqeditor/hdwiki.js------hdwiki------HdWiki(中文维基)
254 | /js/jqeditor/skins/content_default.css------hdwiki------HdWiki(中文维基)
255 | /plugins/hdapi/view/admin_hdapi.htm------hdwiki------HdWiki(中文维基)
256 | /plugins/mwimport/desc.xml------hdwiki------HdWiki(中文维基)
257 | /plugins/mwimport/view/admin_mwimport.htm------hdwiki------HdWiki(中文维基)
258 | /plugins/ucenter/view/admin_ucenter.htm------hdwiki------HdWiki(中文维基)
259 | /style/aoyun/hdwiki.css------hdwiki------HdWiki(中文维基)
260 | /style/default/admin/admin.css------hdwiki------HdWiki(中文维基)
261 | /style/default/desc.xml------hdwiki------HdWiki(中文维基)
262 | /view/default/admin_addlink.htm------hdwiki------HdWiki(中文维基)
263 | #范例:链接------关键字------CMS别称
264 | #范例:连接------正则表达式------匹配关键字------CMS别称
265 | /htaccess.txt------joomla------Joomla(逐浪)
266 | /CONTRIBUTING.md------joomla------Joomla(逐浪)
267 | /phpunit.xml.dist------joomla------Joomla(逐浪)
268 | /robots.txt------joomla------Joomla(逐浪)
269 | /joomla.xml------joomla------Joomla(逐浪)
270 | /README.txt------joomla------Joomla(逐浪)
271 | /robots.txt.dist------joomla------Joomla(逐浪)
272 | /web.config.txt------joomla------Joomla(逐浪)
273 | /installation/CHANGELOG------joomla------Joomla(逐浪)
274 | /administrator/components/com_login/login.xml------joomla------Joomla(逐浪)
275 | /components/com_mailto/views/sent/metadata.xml------joomla------Joomla(逐浪)
276 | /components/com_wrapper/wrapper.xml------joomla------Joomla(逐浪)
277 | /installation/language/en-GB/en-GB.ini------joomla------Joomla(逐浪)
278 | /installation/language/en-US/en-US.ini------joomla------Joomla(逐浪)
279 | /installation/language/zh-CN/zh-CN.ini------joomla------Joomla(逐浪)
280 | /installation/template/js/installation.js------joomla------Joomla(逐浪)
281 | /language/en-GB/en-GB.com_contact.ini------joomla------Joomla(逐浪)
282 | /libraries/joomla/filesystem/meta/language/en-GB/en-GB.lib_joomla_filesystem_patcher.ini------joomla------Joomla(逐浪)
283 | /libraries/joomla/html/language/en-GB/en-GB.jhtmldate.ini------joomla------Joomla(逐浪)
284 | /media/com_finder/js/indexer.js------joomla------Joomla(逐浪)
285 | /media/com_joomlaupdate/default.js------joomla------Joomla(逐浪)
286 | /media/editors/tinymce/templates/template_list.js------joomla------Joomla(逐浪)
287 | /media/jui/css/chosen.css------joomla------Joomla(逐浪)
288 | /modules/mod_banners/mod_banners.xml------joomla------Joomla(逐浪)
289 | /plugins/authentication/joomla/joomla.xml------joomla------Joomla(逐浪)
290 | /templates/atomic/css/template.css------joomla------Joomla(逐浪)
291 | #范例:链接------关键字------CMS别称
292 | #范例:连接------正则表达式------匹配关键字------CMS别称
293 | /Admin/Include/version.xml------kesioncms------KesionCMS(科讯)
294 | /API/api.config------kesioncms------KesionCMS(科讯)
295 | /Config/filtersearch/s3.xml------kesioncms------KesionCMS(科讯)
296 | /czfy/template/index.html------kesioncms------KesionCMS(科讯)
297 | /esf/template/index.html------kesioncms------KesionCMS(科讯)
298 | /images/css.css.lnk------kesioncms------KesionCMS(科讯)
299 | /JS/12.js------kesioncms------KesionCMS(科讯)
300 | /KS_Inc/ajax.js------kesioncms------KesionCMS(科讯)
301 | /Space/js/ks.space.page.js------kesioncms------KesionCMS(科讯)
302 | /template/common/activecode.html------kesioncms------KesionCMS(科讯)
303 | #范例:链接------关键字------CMS别称
304 | #范例:连接------正则表达式------匹配关键字------CMS别称
305 | /install.sql------kingcms------KingCMS
306 | /install.php------kingcms------KingCMS
307 | /INSTALL.php------kingcms------KingCMS
308 | /License.txt------kingcms------KingCMS
309 | /ad.asp------kingcms------KingCMS
310 | /admin.asp------kingcms------KingCMS
311 | /collect.asp------kingcms------KingCMS
312 | /counter.asp------kingcms------KingCMS
313 | /create.asp------kingcms------KingCMS
314 | /INSTALL.asp------kingcms------KingCMS
315 | /link.asp------kingcms------KingCMS
316 | /login.asp------kingcms------KingCMS
317 | /main.asp------kingcms------KingCMS
318 | /menu.asp------kingcms------KingCMS
319 | /template.asp------kingcms------KingCMS
320 | /user.asp------kingcms------KingCMS
321 | /webftp.asp------kingcms------KingCMS
322 | /ad/index.asp------kingcms------KingCMS
323 | /admin/Article/index.asp------kingcms------KingCMS
324 | /admin/system/create.asp------kingcms------KingCMS
325 | /admin/webftp/index.asp------kingcms------KingCMS
326 | /api/alipay.php------kingcms------KingCMS
327 | /Article/index.asp------kingcms------KingCMS
328 | /block/core.class.php------kingcms------KingCMS
329 | /collect/index.asp------kingcms------KingCMS
330 | /comment/index.asp------kingcms------KingCMS
331 | /dbquery/core.class.php------kingcms------KingCMS
332 | /dbquery/language/zh-cn.xml------kingcms------KingCMS
333 | /download/index.asp------kingcms------KingCMS
334 | /EasyArticle/index.asp------kingcms------KingCMS
335 | /feedback/core.class.php------kingcms------KingCMS
336 | /images/style.css------kingcms------KingCMS
337 | /inc/config.asp------kingcms------KingCMS
338 | /language/zh-cn.xml------kingcms------KingCMS
339 | /library/template.class.php------kingcms------KingCMS
340 | /link/index.asp------kingcms------KingCMS
341 | /movie/index.asp------kingcms------KingCMS
342 | /onepage/index.asp------kingcms------KingCMS
343 | /page/addlink.asp------kingcms------KingCMS
344 | /page/system/inc/fun.js------kingcms------KingCMS
345 | /page/Tools/fun.asp------kingcms------KingCMS
346 | /page/webftp/fun.asp------kingcms------KingCMS
347 | /passport/index.asp------kingcms------KingCMS
348 | /system/images/fun.js------kingcms------KingCMS
349 | /system/js/jquery.kc.js------kingcms------KingCMS
350 | /template/default.htm------kingcms------KingCMS
351 | /Tools/index.asp------kingcms------KingCMS
352 | /user/index.php------kingcms------KingCMS
353 | /webftp/index.asp------kingcms------KingCMS
354 | #范例:链接------关键字------CMS别称
355 | #范例:连接------正则表达式------匹配关键字------CMS别称
356 | /------liangjing------liangjing(良精)
357 | /Global.asax------ljcms------LjCMS(良精)
358 | /Web.config------ljcms------LjCMS(良精)
359 | /Admin/MasterPage/Default.Master------ljcms------LjCMS(良精)
360 | /ashx/comment.ashx------ljcms------LjCMS(良精)
361 | /Ch/Index.Asp------ljcms------LjCMS(良精)
362 | /En/Index.Asp------ljcms------LjCMS(良精)
363 | /en/Module/AboutDetail.ascx------ljcms------LjCMS(良精)
364 | /Html_skin30/downclass_29_1.html------ljcms------LjCMS(良精)
365 | /HtmlAspx/ascx/CreateOrder.ascx------ljcms------LjCMS(良精)
366 | /Master/default.Master------ljcms------LjCMS(良精)
367 | /Module/AboutDetail.ascx------ljcms------LjCMS(良精)
368 | /T/skin01/enindex.html------ljcms------LjCMS(良精)
369 | /T/skin05/about.html------ljcms------LjCMS(良精)
370 | /Enrss.xml------liangjing------liangjing(良精)
371 | /Ch/Memberphoto.Asp------liangjing------liangjing(良精)
372 | /En/Foot.Asp------liangjing------liangjing(良精)
373 | /Html_skin30/enabout.html------liangjing------liangjing(良精)
374 | #范例:链接------关键字------CMS别称
375 | #范例:连接------正则表达式------匹配关键字------CMS别称
376 | /readme.txt------php168------PHP168(国徽)
377 | /ckeditor/plugins/gallery/plugin.js------php168------PHP168(国徽)
378 | /install/------php168------PHP168(国徽)
379 | /cms/install/index.html------php168------PHP168(国徽)
380 | /ewebeditor/KindEditor.js------php168------PHP168(国徽)
381 | /form/install/data.sql------php168------PHP168(国徽)
382 | /hack/cnzz/template/menu.htm------php168------PHP168(国徽)
383 | /help/main.html------php168------PHP168(国徽)
384 | /images/dialog.css------php168------PHP168(国徽)
385 | /js/util.js------php168------PHP168(国徽)
386 | /plugin/qqconnect/bind.html------php168------PHP168(国徽)
387 | /skin/admin/style.css------php168------PHP168(国徽)
388 | /template/admin/ask/config.html------php168------PHP168(国徽)
389 | #范例:链接------关键字------CMS别称
390 | #范例:连接------正则表达式------匹配关键字------CMS别称
391 | /index.html------phpcms------phpCMS(盛大)
392 | /robots.txt------phpcms------phpCMS(盛大)
393 | /admin/index.htm------phpcms------phpCMS(盛大)
394 | /ads/install/templates/ads-float.html------phpcms------phpCMS(盛大)
395 | /announce/install/templates/index.html------phpcms------phpCMS(盛大)
396 | /bill/install/mysql.sql------phpcms------phpCMS(盛大)
397 | /comment/include/js/comment.js------phpcms------phpCMS(盛大)
398 | /data/js/config.js------phpcms------phpCMS(盛大)
399 | /digg/install/templates/index.html------phpcms------phpCMS(盛大)
400 | /editor/js/editor.js------phpcms------phpCMS(盛大)
401 | /error_report/install/mysql.sql------phpcms------phpCMS(盛大)
402 | /formguide/install/templates/form_index.html------phpcms------phpCMS(盛大)
403 | /guestbook/install/templates/index.html------phpcms------phpCMS(盛大)
404 | /house/.htaccess------phpcms------phpCMS(盛大)
405 | /images/js/admin.js------phpcms------phpCMS(盛大)
406 | /install/cms_index.html------phpcms------phpCMS(盛大)
407 | /link/install/templates/index.html------phpcms------phpCMS(盛大)
408 | /mail/install/templates/sendmail.html------phpcms------phpCMS(盛大)
409 | /member/include/js/login.js------phpcms------phpCMS(盛大)
410 | /message/install/mysql.sql------phpcms------phpCMS(盛大)
411 | /module/info/include/mysql/phpcms_info.sql------phpcms------phpCMS(盛大)
412 | /mood/install/templates/header.html------phpcms------phpCMS(盛大)
413 | /order/install/templates/deliver.html------phpcms------phpCMS(盛大)
414 | /page/aboutus.html------phpcms------phpCMS(盛大)
415 | /phpcms/templates/default/member/connect.html------phpcms------phpCMS(盛大)
416 | /phpcms/templates/default/wap/header.html------phpcms------phpCMS(盛大)
417 | /phpsso_server/statics/js/formvalidator.js------phpcms------phpCMS(盛大)
418 | /search/install/templates/index.html------phpcms------phpCMS(盛大)
419 | /space/images/js/space.js------phpcms------phpCMS(盛大)
420 | /special/type/dev.html------phpcms------phpCMS(盛大)
421 | /spider/uninstall/mysql.sql------phpcms------phpCMS(盛大)
422 | /stat/uninstall/mysql.sql------phpcms------phpCMS(盛大)
423 | /statics/js/cookie.js------phpcms------phpCMS(盛大)
424 | /templates/default/info/area.html------phpcms------phpCMS(盛大)
425 | /union/install/mysql.sql------phpcms------phpCMS(盛大)
426 | /video/install/templates/category.html------phpcms------phpCMS(盛大)
427 | /vote/install/templates/index.html------phpcms------phpCMS(盛大)
428 | /wenba/install/mysql.sql------phpcms------phpCMS(盛大)
429 | /yp/images/js/global.js------phpcms------phpCMS(盛大)
430 | #范例:链接------关键字------CMS别称
431 | #范例:连接------正则表达式------匹配关键字------CMS别称
432 | /licence.txt------phpwind------PHPWind
433 | /robots.txt------phpwind------PHPWind
434 | /recommend.html------phpwind------PHPWind
435 | /wind.sql------phpwind------PHPWind
436 | /AUTHORS------phpwind------PHPWind
437 | /humans.txt------phpwind------PHPWind
438 | /LICENSE------phpwind------PHPWind
439 | /wind/readme------phpwind------PHPWind
440 | /wind/http/mime/mime------phpwind------PHPWind
441 | /conf/md5sum------phpwind------PHPWind
442 | /aCloud/index.html------phpwind------PHPWind
443 | /admin/safefiles.md5------phpwind------PHPWind
444 | /api/agent.html------phpwind------PHPWind
445 | /apps/diary/template/m_diary_bottom.htm------phpwind------PHPWind
446 | /apps/groups/template/m_header.htm------phpwind------PHPWind
447 | /apps/stopic/template/stopic.htm------phpwind------PHPWind
448 | /apps/weibo/template/m_weibo_bottom.htm------phpwind------PHPWind
449 | /connexion/template/custom_weibo_template.htm------phpwind------PHPWind
450 | /data/lang/zh_cn.js------phpwind------PHPWind
451 | /hack/app/info.xml------phpwind------PHPWind
452 | /html/js/index.html------phpwind------PHPWind
453 | /js/magic.js------phpwind------PHPWind
454 | /lang/wind/admin/admin.htm------phpwind------PHPWind
455 | /m/template/footer.htm------phpwind------PHPWind
456 | /mode/area/js/adminview.js------phpwind------PHPWind
457 | /phpwind/lang/wind/admin/admin.htm------phpwind------PHPWind
458 | /phpwind/licence.txt------phpwind------PHPWind
459 | /res/css/admin_layout.css------phpwind------PHPWind
460 | /src/extensions/demo/Manifest.xml------phpwind------PHPWind
461 | /src/extensions/demo/resource/editorApp.js------phpwind------PHPWind
462 | /styles/english/template/admin_english/admin.htm------phpwind------PHPWind
463 | /template/config/admin/config_run.htm------phpwind------PHPWind
464 | /themes/forum/default/css/dev/forum.css------phpwind------PHPWind
465 | /u/themes/default/footer.htm------phpwind------PHPWind
466 | /windid/res/css/admin_layout.css------phpwind------PHPWind
467 | /windid/res/js/dev/pages/admin/auth_manage.js------phpwind------PHPWind
468 | /windid/res/js/dev/wind.js------phpwind------PHPWind
469 | #范例:链接------关键字------CMS别称
470 | #范例:连接------正则表达式------匹配关键字------CMS别称
471 | /License.txt------powereasy------PowerEasy(动易)
472 | /Web.config------powereasy------PowerEasy(动易)
473 | /rss.xsl------powereasy------PowerEasy(动易)
474 | /RSS.xsl------powereasy------PowerEasy(动易)
475 | /JS/checklogin.js------powereasy------PowerEasy(动易)
476 | /Temp/ajaxnote.txt------powereasy------PowerEasy(动易)
477 | /User/PopCalendar.js------powereasy------PowerEasy(动易)
478 | /xml/xml.xsl------powereasy------PowerEasy(动易)
479 | /Admin/MasterPage.master------powereasy------PowerEasy(动易)
480 | /API/Request.xml------powereasy------PowerEasy(动易)
481 | /App_GlobalResources/CacheResources.resx------powereasy------PowerEasy(动易)
482 | /Config/AjaxHandler.config------powereasy------PowerEasy(动易)
483 | /Controls/AttachFieldControl.ascx------powereasy------PowerEasy(动易)
484 | /Admin/Common/HelpLinks.xml------powereasy------PowerEasy(动易)
485 | /Admin/JS/AdminIndex.js------powereasy------PowerEasy(动易)
486 | /Controls/Company/Company.ascx------powereasy------PowerEasy(动易)
487 | /Database/SiteWeaver.sql------powereasy------PowerEasy(动易)
488 | /Editor/Lable/PE_Annouce.htm------powereasy------PowerEasy(动易)
489 | /Editor/plugins/pastefromword/dialogs/pastefromword.js------powereasy------PowerEasy(动易)
490 | /Install/Demo/Demo.sql------powereasy------PowerEasy(动易)
491 | /Install/NeedCheckDllList.config------powereasy------PowerEasy(动易)
492 | /Language/Gb2312.xml------powereasy------PowerEasy(动易)
493 | /Skin/OceanStar/default.css------powereasy------PowerEasy(动易)
494 | /Skin/OceanStar/user/default.css------powereasy------PowerEasy(动易)
495 | /Space/Template/sealove/index.xsl------powereasy------PowerEasy(动易)
496 | /Template/Default/Skin/default.css------powereasy------PowerEasy(动易)
497 | /Template/Default/Skin/user/default.css------powereasy------PowerEasy(动易)
498 | /User/Accessories/AvatarUploadHandler.ashx------powereasy------PowerEasy(动易)
499 | /wap/Language/Gb2312.xml------powereasy------PowerEasy(动易)
500 | /WebServices/CategoryService.asmx------powereasy------PowerEasy(动易)
501 | #范例:链接------关键字------CMS别称
502 | #范例:连接------正则表达式------匹配关键字------CMS别称
503 | /install/------qiboSoft------qiboSoft(齐博)
504 | /a_d/install/data.sql------qiboSoft------qiboSoft(齐博)
505 | /admin/template/article_more/config.htm------qiboSoft------qiboSoft(齐博)
506 | /admin/template/blend/set.htm------qiboSoft------qiboSoft(齐博)
507 | /admin/template/center/config.htm------qiboSoft------qiboSoft(齐博)
508 | /admin/template/cutimg/cutimg.htm------qiboSoft------qiboSoft(齐博)
509 | /admin/template/foot.htm------qiboSoft------qiboSoft(齐博)
510 | /admin/template/fu_sort/editsort.htm------qiboSoft------qiboSoft(齐博)
511 | /admin/template/html/set.htm------qiboSoft------qiboSoft(齐博)
512 | /admin/template/label/article.htm------qiboSoft------qiboSoft(齐博)
513 | /admin/template/label/maketpl/1.htm------qiboSoft------qiboSoft(齐博)
514 | /admin/template/module/make.htm------qiboSoft------qiboSoft(齐博)
515 | /admin/template/mysql/into.htm------qiboSoft------qiboSoft(齐博)
516 | /admin/template/sort/editsort.htm------qiboSoft------qiboSoft(齐博)
517 | /form/admin/template/label/form.htm------qiboSoft------qiboSoft(齐博)
518 | /guestbook/admin/template/label/guestbook.htm------qiboSoft------qiboSoft(齐博)
519 | /hack/cnzz/template/ask.htm------qiboSoft------qiboSoft(齐博)
520 | /hack/gather/template/addrulesql.htm------qiboSoft------qiboSoft(齐博)
521 | /hack/upgrade/template/get.htm------qiboSoft------qiboSoft(齐博)
522 | /member/template/blue/foot.htm------qiboSoft------qiboSoft(齐博)
523 | /member/template/default/homepage.htm------qiboSoft------qiboSoft(齐博)
524 | /template/default/cutimg.htm------qiboSoft------qiboSoft(齐博)
525 | /template/special/showsp2.htm------qiboSoft------qiboSoft(齐博)
526 | /wap/template/foot.htm------qiboSoft------qiboSoft(齐博)
527 | #范例:链接------关键字------CMS别称
528 | #范例:连接------正则表达式------匹配关键字------CMS别称
529 | /robots.txt------siteserver------SiteServer
530 | /------siteserver------SiteServer
531 | /Web.config------siteserver------SiteServer
532 | /LiveServer/Configuration/UrlRewrite.config------siteserver------SiteServer
533 | /LiveServer/Inc/html_head.inc------siteserver------SiteServer
534 | /SiteFiles/bairong/SqlScripts/cms.sql------siteserver------SiteServer
535 | /SiteFiles/bairong/TextEditor/ckeditor/plugins/nextpage/plugin.js------siteserver------SiteServer
536 | /SiteFiles/bairong/TextEditor/eWebEditor/language/zh-cn.js------siteserver------SiteServer
537 | /SiteFiles/bairong/TextEditor/eWebEditor/style/coolblue.js------siteserver------SiteServer
538 | /SiteServer/CMS/vssver2.scc------siteserver------SiteServer
539 | /SiteServer/Inc/html_head.inc------siteserver------SiteServer
540 | /SiteServer/Installer/EULA.html------siteserver------SiteServer
541 | /SiteServer/Installer/readme/problem/1.html------siteserver------SiteServer
542 | /SiteServer/Installer/SqlScripts/liveserver.sql------siteserver------SiteServer
543 | /SiteServer/Services/AdministratorService.asmx------siteserver------SiteServer
544 | /SiteServer/Themes/Language/en.xml------siteserver------SiteServer
545 | /SiteServer/Themes/Skins/Skin-DirectoryTree.ascx------siteserver------SiteServer
546 | /SiteServer/UserCenter/Skins/Skin-Footer.ascx------siteserver------SiteServer
547 | /UserCenter/Inc/script.js------siteserver------SiteServer
548 | #范例:链接------关键字------CMS别称
549 | #范例:连接------正则表达式------匹配关键字------CMS别称
550 | /Add.ASP------southidc------Southidc(南方数据)
551 | /Admin/Images/southidc.css------southidc------Southidc(南方数据)
552 | /admin/Inc/southidc.css------southidc------Southidc(南方数据)
553 | /admin/SouthidcEditor/Include/Editor.js------southidc------Southidc(南方数据)
554 | /Ads/left.js------southidc------Southidc(南方数据)
555 | /Asp/ImageList.Asp------southidc------Southidc(南方数据)
556 | /Css/Style.css------southidc------Southidc(南方数据)
557 | /Images/ad.js------southidc------Southidc(南方数据)
558 | /Inc/NoSqlHack.Asp------southidc------Southidc(南方数据)
559 | /Map/51ditu/Index.Asp------southidc------Southidc(南方数据)
560 | /Qq/xml/qq.xml------southidc------Southidc(南方数据)
561 | /Script/Html.js------southidc------Southidc(南方数据)
562 | #范例:链接------关键字------CMS别称
563 | #范例:连接------正则表达式------匹配关键字------CMS别称
564 | /robots.txt------wordpress------WordPress
565 | /license.txt------wordpress------WordPress
566 | /readme.txt------wordpress------WordPress
567 | /help.txt------wordpress------WordPress
568 | /readme.html------wordpress------WordPress
569 | /readme.htm------wordpress------WordPress
570 | /wp-admin/css/colors-classic.css------wordpress------WordPress
571 | /wp-admin/js/media-upload.dev.js------wordpress------WordPress
572 | /wp-content/plugins/akismet/akismet.js------wordpress------WordPress
573 | /wp-content/themes/classic/rtl.css------wordpress------WordPress
574 | /wp-content/themes/twentyeleven/readme.txt------wordpress------WordPress
575 | /wp-content/themes/twentyten/style.css------wordpress------WordPress
576 | /wp-includes/css/buttons.css------wordpress------WordPress
577 | /wp-includes/js/scriptaculous/wp-scriptaculous.js------wordpress------WordPress
578 | /wp-includes/js/tinymce/langs/wp-langs-en.js------wordpress------WordPress
579 | /wp-includes/js/tinymce/wp-tinymce.js------wordpress------WordPress
580 | /wp-includes/wlwmanifest.xml------wordpress------WordPress
581 | #范例:链接------关键字------CMS别称
582 | #范例:连接------正则表达式------匹配关键字------CMS别称
583 | /license.txt------z-blog------Z-Blog
584 | /PLUGIN/BackupDB/plugin.xml------z-blog------Z-Blog
585 | /PLUGIN/PingTool/plugin.xml------z-blog------Z-Blog
586 | /PLUGIN/PluginSapper/plugin.xml------z-blog------Z-Blog
587 | /PLUGIN/ThemeSapper/plugin.xml------z-blog------Z-Blog
588 | /SCRIPT/common.js------z-blog------Z-Blog
589 | /THEMES/default/TEMPLATE/catalog.html------z-blog------Z-Blog
590 | /THEMES/default/theme.xml------z-blog------Z-Blog
591 | /zb_system/DEFEND/default/footer.html------z-blog------Z-Blog
592 | /zb_system/DEFEND/thanks.html------z-blog------Z-Blog
593 | /zb_system/SCRIPT/common.js------z-blog------Z-Blog
594 | /zb_users/CACHE/updateinfo.txt------z-blog------Z-Blog
595 | /zb_users/PLUGIN/AppCentre/plugin.xml------z-blog------Z-Blog
596 | /zb_users/PLUGIN/FileManage/plugin.xml------z-blog------Z-Blog
597 | /zb_users/THEME/default/theme.xml------z-blog------Z-Blog
598 | /zb_users/THEME/HTML5CSS3/theme.xml------z-blog------Z-Blog
599 | /zb_users/THEME/metro/TEMPLATE/footer.html------z-blog------Z-Blog
600 | /zb_users/THEME/metro/theme.xml------z-blog------Z-Blog
601 |
--------------------------------------------------------------------------------
/wtf/app/api/cms/whatcms.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 |
3 | import requests
4 | import threading
5 | import re
6 | from app.api import api
7 | from flask import request
8 | from config import basedir
9 | import os
10 | from app.utils import *
11 |
12 |
13 |
14 | class WhatCms:
15 | def __init__(self,target,file_path,thread_num=15):
16 | self.cms=[]
17 | self.is_finish=False
18 | self.g_index=0
19 | self.threads=[]
20 | self.lock=threading.Lock()
21 | self.thread_num = thread_num
22 | self.target=WhatCms.normalize_target(target)
23 | self.info={}
24 | self.file_path=file_path
25 |
26 | @staticmethod
27 | def request_url(url):
28 | try:
29 | headers={
30 | 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0'
31 | }
32 | r = requests.get(url=url, headers=headers)
33 | r.encoding = 'utf-8'
34 | if r.status_code==200:
35 | return r.text
36 | else:
37 | return ''
38 | except Exception,e:
39 | return ''
40 |
41 | @staticmethod
42 | def normalize_target(target):
43 | if target.endswith('/'):
44 | target = target[:-1]
45 | if target.startswith('http://') or target.startswith('https://'):
46 | pass
47 | else:
48 | target = 'http://' + target
49 | return target
50 |
51 | def find_powered_by(self):
52 | '''
53 | 根据powered by获取cms
54 | :return:
55 | '''
56 | html = WhatCms.request_url(self.target)
57 | match = re.search('Powered by (.*)', html, re.I)
58 | if match:
59 | clear_html_cms = re.sub('<.*?>', '', match.group(1))
60 | cms_name = clear_html_cms.split(' ')[0]
61 | self.info['cms_name'] = cms_name
62 | self.info['path'] = '/'
63 | self.info['match_pattern'] = "powered by "+cms_name
64 | self.is_finish=True
65 | return True
66 | else:
67 | return False
68 |
69 | def find_cms_with_file(self):
70 | '''
71 | 根据cms.txt检测cms
72 | :return:
73 | '''
74 | while True:
75 | if self.is_finish:
76 | break
77 | if self.g_index >= len(self.cms):
78 | self.lock.acquire()
79 | self.is_finish = True
80 | self.info['cms_name'] = "nothing"
81 | self.info['path'] = "nothing"
82 | self.info['match_pattern'] = "nothing"
83 | self.lock.release()
84 | break
85 |
86 | self.lock.acquire()
87 | try:
88 | eachline = self.cms[self.g_index]
89 | except Exception,e:
90 | break
91 | self.g_index += 1
92 | self.lock.release()
93 |
94 | if len(eachline.strip()) == 0 or eachline.startswith('#'):
95 | continue
96 | else:
97 | path, pattern, cms_name = eachline.split('------')
98 |
99 | url = self.target + path
100 | response_html = WhatCms.request_url(url)
101 |
102 | if pattern.lower() in response_html.lower():
103 | self.lock.acquire()
104 | self.is_finish = True
105 | self.info['cms_name']=cms_name[:-1]
106 | self.info['path']=path
107 | self.info['match_pattern']=pattern
108 | self.lock.release()
109 | break
110 |
111 | def start_threads(self):
112 | for i in range(self.thread_num):
113 | t = threading.Thread(target=self.find_cms_with_file)
114 | self.threads.append(t)
115 |
116 | for t in self.threads:
117 | t.start()
118 |
119 | for t in self.threads:
120 | t.join()
121 |
122 | def run(self):
123 | info=self.find_powered_by()
124 | if not info:
125 | file = open(self.file_path, 'r')
126 | self.cms = file.readlines()
127 | file.close()
128 | self.start_threads()
129 |
130 | def get_result(self):
131 | while True:
132 | if self.is_finish:
133 | return self.info
134 |
135 |
136 | @api.route('/cms')
137 | def cms():
138 | target = str(request.args.get('target', ''))
139 | whatcms = WhatCms(target,os.path.join(basedir,'app/api/cms/cms.txt'))
140 | whatcms.run()
141 | return success(data=whatcms.get_result())
142 |
143 | if __name__ == '__main__':
144 | # http://www.asp.com.cn/
145 | whatcms=WhatCms('http://www.asp.com.cn/','cms.txt')
146 | whatcms.run()
147 | print whatcms.get_result()
148 |
149 |
--------------------------------------------------------------------------------
/wtf/app/api/cms/whatcms.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/cms/whatcms.pyc
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/ASP.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/dirscan/ASP.txt
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/ASPX.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/dirscan/ASPX.txt
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/DIR.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/dirscan/DIR.txt
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/JSP.txt:
--------------------------------------------------------------------------------
1 | /FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp
2 | /fccmsres/admin/default.jsp
3 | /login.jsp
4 | /luntanLogin.jsp
5 | /domain_manage.jsp
6 | /login/index.jsp
7 | /admin/index.jsp
8 | /message/admin_login.jsp
9 | /admin.jsp
10 | /cms/admin.jsp
11 | /admin/admin.jsp
12 | /manage/admin.jsp
13 | /plc/admin.jsp
14 | /EducationManager/admin.jsp
15 | /bbs-admin.jsp
16 | /login/admin.jsp
17 | /book/admin.jsp
18 | /servicesystem/login-admin.jsp
19 | /login-admin.jsp
20 | /admins/admin.jsp
21 | /newsadmin/admin.jsp
22 | /user/admin.jsp
23 | /orderadmin/admin.jsp
24 | /penit-admin.jsp
25 | /clearadmin/admin.jsp
26 | /WebAdmin/admin.jsp
27 | /relogin-admin.jsp
28 | /manage/index.jsp
29 | /oa/login.jsp
30 | /oa/admin_login.jsp
31 | /coon.jsp
32 | /adminis/login.jsp
33 | /02nfdiy.jsp
34 | /0x5emyup.jsp
35 | /1.jsp
36 | /1/1/gif.jsp
37 | /10f4digshell0.jsp
38 | /11.jsp
39 | /111.jsp
40 | /11111/index.jsp
41 | /115cn.jsp
42 | /123.jsp
43 | /1234.jsp
44 | /12345.jsp
45 | /123456.jsp
46 | /12912.jsp
47 | /1dppdiy.jsp
48 | /1hmmdigshell2.jsp
49 | /1iyydiy.jsp
50 | /1ndex.jsp
51 | /1tufmyup.jsp
52 | /1uuqmyup.jsp
53 | /2005kycj/2005kycj/login.jsp
54 | /2006.jsp
55 | /21ex/jihe.jsp
56 | /22.jsp
57 | /222.jsp
58 | /2ir9myup.jsp
59 | /2m8ydigshell0.jsp
60 | /2r8idiy.jsp
61 | /3.jsp
62 | /30wfdigshell0.jsp
63 | /33.jsp
64 | /333.jsp
65 | /3800cc.jsp
66 | /3upxmyup.jsp
67 | /41x6digshell0.jsp
68 | /47rfmyup.jsp
69 | /4fpndigshell0.jsp
70 | /4p5xdiy.jsp
71 | /5u3qdigshell0.jsp
72 | /5xc4diy.jsp
73 | /6crwdiy.jsp
74 | /6k.jsp
75 | /6qv4myup.jsp
76 | /6yaqmyup.jsp
77 | /79hlmyup.jsp
78 | /7am5xiao.jsp
79 | /7hsfdigshell0.jsp
80 | /8000/welcome.jsp
81 | /8080/anything.jsp
82 | /8080/servlet/org.apache.catalina.servlets.DefaultServlet/index.jsp
83 | /80f9digshell0.jsp
84 | /87d6diy.jsp
85 | /88888/index.jsp
86 | /89wjdiy.jsp
87 | /8vt2digshell0.jsp
88 | /8wr8myup.jsp
89 | /92vrmyup.jsp
90 | /9g42shell.jsp
91 | /ASPAdmin.jsp
92 | /ASPAdmin_A.jsp
93 | /ASPXspy2.jsp
94 | /A_Login.jsp
95 | /AddNews.jsp
96 | /Admin.jsp
97 | /Admin/Admin_Index.jsp
98 | /Admin/Database/%23tourdata.jsp
99 | /Admin/Database/%23tourdatabak.jsp
100 | /AdminCenter/AdminLogin.jsp
101 | /AdminFile/Admin_Login.jsp
102 | /AdminLogin1.jsp
103 | /AdminMain.jsp
104 | /AdminMenu.jsp
105 | /AdminUserModule/AdminUserLogin.jsp
106 | /Admin_BatchLink.jsp
107 | /Admin_Cy/DataBackup/DataBack.jsp
108 | /Admin_Cy/DataCy/%23%23cyweb_cn.jsp
109 | /Admin_Cy/Zzm.jsp
110 | /Admin_DataBackup.jsp
111 | /Admin_Database.jsp
112 | /Admin_Field.jsp
113 | /Admin_Help_User.jsp
114 | /Admin_Label.jsp
115 | /Admin_Login588.jsp
116 | /Admin_Login8.jsp
117 | /Admin_Login888.jsp
118 | /Admin_Maillist.jsp
119 | /Admin_Message.jsp
120 | /Admin_Photo.jsp
121 | /Admin_SoftCateMenu.jsp
122 | /Admin_SoftInfo.jsp
123 | /Admin_SoftLink.jsp
124 | /Admin_SoftList.jsp
125 | /Admin_SubCate.jsp
126 | /Admin_UpdateSoftNum.jsp
127 | /Admin_UploadFile.jsp
128 | /Admin_UploadFile_Style.jsp
129 | /Admin_UserSetting.jsp
130 | /Admin_ZgTea_Art/Login.jsp
131 | /Admin_jsCreate.jsp
132 | /Administration/Default.jsp
133 | /Article/admin/login.jsp
134 | /ArticleShow.jsp
135 | /Articlelogin.jsp
136 | /CEO.jsp
137 | /Char.jsp
138 | /CmsEditor/Upload.jsp
139 | /Comment.jsp
140 | /Connections/Connections.jsp
141 | /Connections/baseinc.jsp
142 | /Connections/cnn.jsp
143 | /Connections/conn.jsp
144 | /ConsoleHelp/login.jsp
145 | /Create_Commend.jsp
146 | /Create_Default.jsp
147 | /Create_New.jsp
148 | /Create_Other.jsp
149 | /Create_SoftCate.jsp
150 | /Create_SoftList_All.jsp
151 | /Create_SoftList_Cate.jsp
152 | /Create_jsNews.jsp
153 | /Create_jsSearch.jsp
154 | /DATA/%23echuang%23.jsp
155 | /Data.project/%23zxData.project%23.jsp
156 | /Data/%23vvskybbs.jsp
157 | /Data/MeCMS_data.jsp
158 | /Data/YxBBs.jsp
159 | /Data/db.jsp
160 | /Data/wrtxcnshop2.jsp
161 | /DataBackup/1.jsp
162 | /DataBackup/111.jsp
163 | /DataBackup/123.jsp
164 | /DataBackup/222.jsp
165 | /DataBackup/ASPAdmin.jsp
166 | /DataBackup/ASPAdmin_A.jsp
167 | /DataBackup/a.jsp
168 | /DataBackup/aa.jsp
169 | /DataBackup/ad.jsp
170 | /DataBackup/asdf.jsp
171 | /DataBackup/c99.jsp
172 | /DataBackup/cao.jsp
173 | /DataBackup/caonima.jsp
174 | /DataBackup/cmd.jsp
175 | /DataBackup/command.jsp
176 | /DataBackup/cshell.jsp
177 | /DataBackup/css.jsp
178 | /DataBackup/d99.jsp
179 | /DataBackup/default1.jsp
180 | /DataBackup/digshell0.jsp
181 | /DataBackup/digshell2.jsp
182 | /DataBackup/diy.jsp
183 | /DataBackup/diy3.jsp
184 | /DataBackup/dm.jsp
185 | /DataBackup/do.jsp
186 | /DataBackup/error.jsp
187 | /DataBackup/fuck.jsp
188 | /DataBackup/fuckyou.jsp
189 | /DataBackup/hack.jsp
190 | /DataBackup/hacker.jsp
191 | /DataBackup/hate.jsp
192 | /DataBackup/hello.jsp
193 | /DataBackup/index1.jsp
194 | /DataBackup/log.jsp
195 | /DataBackup/love.jsp
196 | /DataBackup/luck.jsp
197 | /DataBackup/m.jsp
198 | /DataBackup/main1.jsp
199 | /DataBackup/mm.jsp
200 | /DataBackup/mmm.jsp
201 | /DataBackup/my.jsp
202 | /DataBackup/myup.jsp
203 | /DataBackup/new.jsp
204 | /DataBackup/news.jsp
205 | /DataBackup/ok.jsp
206 | /DataBackup/phpinfo.jsp
207 | /DataBackup/phpspy.jsp
208 | /DataBackup/root.jsp
209 | /DataBackup/servu.jsp
210 | /DataBackup/shell.jsp
211 | /DataBackup/spy.jsp
212 | /DataBackup/su.jsp
213 | /DataBackup/temp.jsp
214 | /DataBackup/webshell.jsp
215 | /DataBackup/wish.jsp
216 | /DataBackup/woaini.jsp
217 | /DataBackup/ws.jsp
218 | /DataBackup/x.jsp
219 | /DataBackup/xiao.jsp
220 | /DataBackup/xiaolu.jsp
221 | /DataBackup/xm.jsp
222 | /DataBackup/xx.jsp
223 | /DataBackup/xxx.jsp
224 | /DataBackup/yes.jsp
225 | /DataBackup/z.jsp
226 | /DataBackup/zz.jsp
227 | /DataBackup/zzz.jsp
228 | /DataBase/%23GBooK.jsp
229 | /DataBase/DB.jsp
230 | /DataBase/TCBBS7.jsp
231 | /DataBases/%23%23%23fdkjgzschool.V2009%23.jsp
232 | /DataShop).jsp
233 | /Data_Backup.jsp
234 | /Data_Return.jsp
235 | /Database/%23database%23.jsp
236 | /Database/%23tyqiye.jsp
237 | /Database/%23tyqiyechina.jsp
238 | /Database/%23wygkcnalibaba.jsp
239 | /Database/Data.jsp
240 | /Database/DataShop).jsp
241 | /Database/DataShop.jsp
242 | /Databases/%23wrtxcn2007.jsp
243 | /Databases/%23wygkcnqywz4.jsp
244 | /Databases/wrtxcnqywz4.jsp
245 | /Databases/wygkcnqyhtml.jsp
246 | /Databases/wygkcnqywz.jsp
247 | /Databases/wygkcnqywz3.jsp
248 | /DbConnect.jsp
249 | /Default_index.jsp
250 | /EC_Admin/EC_AdminLogin.jsp
251 | /EduAdmin/Admin_Login.jsp
252 | /FCKeditor/editor/filemanager/browser/default/browser.jsp
253 | /FCKeditor/editor/filemanager/browser/default/browser.jsp?Type=all&Connector=connectors/asp/connector.jsp
254 | /Fl_Web.jsp
255 | /Foosun/Admin/login.jsp
256 | /Function/UploadProductPic.jsp
257 | /Fuzhuang_Fushi/index.jsp
258 | /Fy_SqlX.jsp
259 | /GOOGLE1bb9e40669bc959a.jsp
260 | /Gas_login.jsp
261 | /Gehang_Geye/index.jsp
262 | /GetPassword.jsp
263 | /Gongye_Zhipin/index.jsp
264 | /Guowai_Wangzhan/index.jsp
265 | /HX_LOGIN.jsp
266 | /Heike_Anquan/index.jsp
267 | /HomeManagement/Login.jsp
268 | /Hradmin/admin.jsp
269 | /Huagong_Nengyuan/index.jsp
270 | /Hz@host!.jsp
271 | /ImageMap.jsp
272 | /Images/config_inc.jsp
273 | /Inc/conndb.jsp
274 | /Include/setting.jsp
275 | /Index.jsp
276 | /InsertEmotion.jsp
277 | /Jianzhan_Sheji/index.jsp
278 | /Keji_IT/index.jsp
279 | /Kes/Admin/Admin_Login.jsp
280 | /KesAdmin_Login.jsp
281 | /Library/DbConnect.jsp
282 | /Link/upload/upload.jsp
283 | /Log.jsp
284 | /LoginAdministrator.jsp
285 | /Login_ok.jsp
286 | /LookupPass.jsp
287 | /MSOffice/cltreq.jsp
288 | /Manag_onlinedb.jsp
289 | /Manage/Default.jsp
290 | /ManageAdmin/ManageLogin.jsp
291 | /ManageLogin.jsp
292 | /Manage_backup.jsp
293 | /Manager/default.jsp
294 | /MeCMS_data.jsp
295 | /Member/FileUpLoad.jsp
296 | /Mianfei_Ziyuan/index.jsp
297 | /My-login.jsp
298 | /MySql.jsp
299 | /NBA_lanqiu/index.jsp
300 | /NBArticle.jsp
301 | /Neeao.jsp
302 | /Neeao_SqlIn.jsp
303 | /Neeao_sql_admin.jsp
304 | /NewFucker.jsp
305 | /NewsInfr.jsp
306 | /NewsUpLoad.jsp
307 | /Nonglin_Muyu/index.jsp
308 | /OaLogin.jsp
309 | /PBlog1.jsp
310 | /PBlog2.jsp
311 | /PBlog3.jsp
312 | /PoolMan.jsp
313 | /Preview.jsp
314 | /Product/manage/login.jsp
315 | /Qiche_Qipei/index.jsp
316 | /Reg/z9v8User_Reg.jsp
317 | /Reg/z9v8User_Reg1.jsp
318 | /Register/UserReg_Step1.jsp
319 | /Register/UserReg_Step2.jsp
320 | /SEM_User/admin_php/login.jsp
321 | /SK_login.jsp
322 | /SaveUpFile.jsp
323 | /Saveannounce_upload.jsp
324 | /ScanShell.jsp
325 | /Select_feedback.jsp
326 | /Server.jsp
327 | /ServerInfo.jsp
328 | /Shangwu_Maoyi/index.jsp
329 | /Shop_Login.jsp
330 | /ShowHost.jsp
331 | /ShowNews.jsp
332 | /Skyj.jsp
333 | /Sousuo_Yinqing/index.jsp
334 | /Southidceditor/upload.jsp
335 | /SqlIn/sqlIn_admin.jsp
336 | /Stats.jsp
337 | /Subsitemanage/login.jsp
338 | /Super/Index.jsp
339 | /SysAdmin/AdminLogin.jsp
340 | /SysAdmin/login.jsp
341 | /SysConfig.jsp
342 | /SysUser.jsp
343 | /Sys_admin.jsp
344 | /System/Function/UploadProductPic.jsp
345 | /SystemAdmin/AdminLogin.jsp
346 | /TUNGSTENDATA.jsp
347 | /UP/UpFilea.jsp
348 | /USERok.jsp
349 | /Up_BookPicPro.jsp
350 | /Upfile_AdPia.jsp
351 | /Upfile_AdPic.jsp
352 | /Upfile_Articla.jsp
353 | /Upfile_Article.jsp
354 | /Upfile_Image.jsp
355 | /Upfile_OrderPic.jsp
356 | /Upfile_Product.jsp
357 | /Upfile_ProductPic.jsp
358 | /Upfile_Soft.jsp
359 | /Upfile_SoftPic.jsp
360 | /Upfile_pic.jsp
361 | /Upfile_pics.jsp
362 | /Upfiledd.jsp
363 | /Upfilem.jsp
364 | /Upfilep.jsp
365 | /UploadAttachment.jsp
366 | /UploadFace.jsp
367 | /UploadImage3_upload.jsp
368 | /UploadProductPic.jsp
369 | /UploadSoft/diy.jsp
370 | /Upload_Dialog.jsp
371 | /Upload_Photo.jsp
372 | /Upload_Product.jsp
373 | /Upload_ProductPic.jsp
374 | /Upload_SoftPic.jsp
375 | /Upload_user.jsp
376 | /Uploaddd.jsp
377 | /User/Reg_service.jsp
378 | /User/UserReg.jsp
379 | /User/User_Article.jsp
380 | /User/User_Space.jsp
381 | /UserJoin.jsp
382 | /UserList.jsp
383 | /UserLogin.jsp
384 | /UserManage.jsp
385 | /UserModify.jsp
386 | /UserReg.jsp
387 | /User_GetPassword.jsp
388 | /Users/Login.jsp
389 | /Wangba_Lianmeng/index.jsp
390 | /WebAdmin/eWebEditor/Admin_Login.jsp
391 | /WebAdmin/login.jsp
392 | /WebEdit/admin/upload.jsp
393 | /WebEdit/admin_login.jsp
394 | /WebEdit/db/dbwebedit%23cc495898.jsp
395 | /WebEditor/admin_login.jsp
396 | /Yingjian_Zixun/index.jsp
397 | /Yinshua_Chuban/index.jsp
398 | /Zuqiu_Tianxia/1025.jsp
399 | /Zuqiu_Tianxia/index.jsp
400 | /Zzm.jsp
401 | /__vti_inf.jsp
402 | /_admin.jsp
403 | /_vt_bin/contents.jsp
404 | /_vt_bin/fpadmin.jsp
405 | /_vti_bin/shtml.dll/nosuch.jsp
406 | /_vti_log/_vti_cnf/default.jsp
407 | /_vti_log/default.jsp
408 | /a.jsp
409 | /a0p7digshell2.jsp
410 | /a_admin.jsp
411 | /a_main.jsp
412 | /aa.jsp
413 | /aaa.jsp
414 | /about.jsp
415 | /acblog.jsp
416 | /account.jsp
417 | /acct/login.jsp
418 | /ad.jsp
419 | /ad/ad_edit.jsp
420 | /ad/upload.jsp
421 | /ad/uploadsave.jsp
422 | /ad_admin/admin_login.jsp
423 | /ad_admin_login.jsp
424 | /ad_edit.jsp
425 | /ad_index.jsp
426 | /ad_login.jsp
427 | /ad_manage.jsp
428 | /add.jsp
429 | /addFile.jsp
430 | /addPicture.jsp
431 | /add_admin.jsp
432 | /add_user.jsp
433 | /addlb.jsp
434 | /addmember.jsp
435 | /adduser.jsp
436 | /adlogin.jsp
437 | /adm.jsp
438 | /adm_login.jsp
439 | /adm_menu.jsp
440 | /adm_user.jsp
441 | /admcheck.jsp
442 | /admcheckform.jsp
443 | /admin-login.jsp
444 | /admin-login/login.jsp
445 | /admin/%23m_x%23data.jsp
446 | /admin/AdminLogin1.jsp
447 | /admin/AdminMenu.jsp
448 | /admin/Admin_Database.jsp
449 | /admin/BathUpdate.jsp
450 | /admin/FCKeditor/editor/filemanager/browser/default/browser.jsp?Type=all&Connector=connectors/asp/connector.jsp
451 | /admin/FCKeditor/editor/filemanager/upload/test.jsp
452 | /admin/LoginAdministrator.jsp
453 | /admin/Select_feedback.jsp
454 | /admin/SiteConfig.jsp
455 | /admin/SouthidcEditor/PopUp.jsp
456 | /admin/SouthidcEditor/admin_login.jsp
457 | /admin/Southidceditor/upload.jsp
458 | /admin/SysConfig.jsp
459 | /admin/Sys_db.jsp
460 | /admin/Upfile_Image.jsp
461 | /admin/Upfile_Soft.jsp
462 | /admin/Upfile_SoftPic.jsp
463 | /admin/UploadImage3_upload.jsp
464 | /admin/Upload_Image.jsp
465 | /admin/Upload_Soft.jsp
466 | /admin/Upload_SoftPic.jsp
467 | /admin/WEB-INF/classes/ContextAdmin.java/x00.jsp
468 | /admin/WebEdit/admin_login.jsp
469 | /admin/WebEditor/admin_login.jsp
470 | /admin/account.jsp
471 | /admin/ad_edit.jsp
472 | /admin/ad_login.jsp
473 | /admin/adm_menu.jsp
474 | /admin/admin_6list.jsp
475 | /admin/admin_NUpLoad.jsp
476 | /admin/admin_admin.jsp
477 | /admin/admin_ads.jsp
478 | /admin/admin_copy.jsp
479 | /admin/admin_fileup.jsp
480 | /admin/admin_h.jsp
481 | /admin/admin_index.jsp
482 | /admin/admin_login.jsp
483 | /admin/admin_main.jsp
484 | /admin/admin_mb.jsp
485 | /admin/admin_menu.jsp
486 | /admin/admin_setup.jsp
487 | /admin/admin_styles.jsp
488 | /admin/admin_template.jsp
489 | /admin/admin_upfile.jsp
490 | /admin/admin_upload.jsp
491 | /admin/admin_uploadfile.jsp
492 | /admin/admin_user.jsp
493 | /admin/adminlogin.jsp
494 | /admin/adminn.jsp
495 | /admin/admlogin.jsp
496 | /admin/asp.jsp
497 | /admin/aspcheck.jsp
498 | /admin/aspinfo.jsp
499 | /admin/b2b_sysdata.jsp
500 | /admin/backdata.jsp
501 | /admin/backdate.jsp
502 | /admin/backlogin.jsp
503 | /admin/backup.jsp
504 | /admin/code.jsp
505 | /admin/config.jsp
506 | /admin/conn.jsp
507 | /admin/controlpanel.jsp
508 | /admin/cp.jsp
509 | /admin/cz_login.jsp
510 | /admin/dama.jsp
511 | /admin/data/%23down19827.jsp
512 | /admin/data/data.jsp
513 | /admin/data/user.jsp
514 | /admin/database.jsp
515 | /admin/db.jsp
516 | /admin/dbb.jsp
517 | /admin/default.jsp
518 | /admin/default/admin.jsp
519 | /admin/default/login.jsp
520 | /admin/diy.jsp
521 | /admin/downfile.jsp
522 | /admin/eWeb/admin_login.jsp
523 | /admin/eWebEditor/admin_login.jsp
524 | /admin/eWebEditor_v280_Free/admin_login.jsp
525 | /admin/edit/admin_login.jsp
526 | /admin/edit/upload.jsp
527 | /admin/editor.jsp
528 | /admin/editor/admin_login.jsp
529 | /admin/editor/admin_style.jsp
530 | /admin/editor/editor/filemanager/upload/test.jsp
531 | /admin/editor/upload.jsp
532 | /admin/enda.jsp
533 | /admin/ew/upload.jsp
534 | /admin/ewebedit/admin_login.jsp
535 | /admin/ewebeditor/upload.jsp
536 | /admin/fckeditor/editor/filemanager/browser/default/browser.jsp?Type=Image&Connector=connectors/asp/connector.jsp
537 | /admin/get_your_passport.jsp
538 | /admin/go.jsp
539 | /admin/helps.jsp
540 | /admin/home.jsp
541 | /admin/htmedit/admin_login.jsp
542 | /admin/htmedit/db/ewebeditor.jsp
543 | /admin/htmledit/admin_login.jsp
544 | /admin/htmleditor/admin_login.jsp
545 | /admin/htmleditor/upload.jsp
546 | /admin/inc_config.jsp
547 | /admin/index_login.jsp
548 | /admin/info.jsp
549 | /admin/left.jsp
550 | /admin/login.jsp
551 | /admin/login1.jsp
552 | /admin/logina.jsp
553 | /admin/logo.jsp
554 | /admin/logout.jsp
555 | /admin/lygofa.jsp
556 | /admin/m_bian/db/%23ewebeditor.jsp
557 | /admin/main.jsp
558 | /admin/manage.jsp
559 | /admin/manage/admin.jsp
560 | /admin/manage/login.jsp
561 | /admin/md5.jsp
562 | /admin/member/login.jsp
563 | /admin/menu.jsp
564 | /admin/myup.jsp
565 | /admin/news.jsp
566 | /admin/newsinput.jsp
567 | /admin/nsclass.jsp
568 | /admin/open.jsp
569 | /admin/ows_login.jsp
570 | /admin/picup.jsp
571 | /admin/print/data_1.jsp
572 | /admin/save_upfile.jsp
573 | /admin/saveup.jsp
574 | /admin/test.jsp/info.jsp
575 | /admin/unloadimg.jsp
576 | /admin/up.jsp
577 | /admin/up_images.jsp
578 | /admin/upfile-flash.jsp
579 | /admin/upfile.jsp
580 | /admin/upfile1.jsp
581 | /admin/upfile2.jsp
582 | /admin/upfile_flash.jsp
583 | /admin/upload.jsp
584 | /admin/upload1.jsp
585 | /admin/upload2.jsp
586 | /admin/uploadPic.jsp
587 | /admin/uploadPic.jsp?actionType=mod&picName=miao.jsp
588 | /admin/upload_.jsp
589 | /admin/upload_1.jsp
590 | /admin/upload_2.jsp
591 | /admin/upload_3.jsp
592 | /admin/uploadfaceok.jsp
593 | /admin/uploadfileBanner.jsp
594 | /admin/uploadfileCases.jsp
595 | /admin/uploadfileCasesType.jsp
596 | /admin/uploadfileDown.jsp
597 | /admin/uploadfileLink.jsp
598 | /admin/uploadfileNews.jsp
599 | /admin/uploadfileNewsPic.jsp
600 | /admin/uploadfilePartners.jsp
601 | /admin/uploadfileServices.jsp
602 | /admin/uploadfileServicesType.jsp
603 | /admin/uploadfiletemp_pic.jsp
604 | /admin/uploadsave.jsp
605 | /admin/uppic.jsp
606 | /admin/user/User_Admin.jsp
607 | /admin/user/login.jsp
608 | /admin/user_login.jsp
609 | /admin/web.jsp
610 | /admin/web_login.jsp
611 | /admin/webeditor/admin_login.jsp
612 | /admin/wolf.jsp
613 | /admin/xh_login.jsp
614 | /admin/ydxzdate.jsp
615 | /admin/yns_login.jsp
616 | /admin/z9v8config.jsp
617 | /admin/z9v8conn.jsp
618 | /admin/z9v8login.jsp
619 | /admin/z9v8md5.jsp
620 | /admin/z9v8myup.jsp
621 | /admin/z9v8upfile_flash.jsp
622 | /admin/z9v8uploadPic.jsp
623 | /admin1.jsp
624 | /admin1/Admin_Login.jsp
625 | /admin123.jsp
626 | /admin2.jsp
627 | /admin3.jsp
628 | /admin4.jsp
629 | /admin666.jsp
630 | /admin888.jsp
631 | /admin999.jsp
632 |
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/MDB.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/dirscan/MDB.txt
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/PHP.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/dirscan/PHP.txt
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/dirscan/__init__.py
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/dirscan/__init__.pyc
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/dirscan.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 | import threading
3 | from config import basedir
4 | import requests
5 | import os
6 | from .. import api
7 | from flask import request
8 | from app.utils.success import success
9 | import re
10 | import random
11 |
12 |
13 | @api.route('/dir')
14 | def dir_scan():
15 | target = str(request.args.get('target', ''))
16 | if target.startswith('http://') or target.startswith('https://'):
17 | pass
18 | else:
19 | target='http://'+target
20 | if target.endswith('/'):
21 | target=target[:-1]
22 | types=str(request.args.get('type', '')).split(',')
23 | dirscan=DirScan(target,types=types)
24 | dirscan.run()
25 | return success(dirscan.get_data())
26 |
27 |
28 | class DirScan:
29 | def __init__(self,target,types,thread_num=20):
30 | self.headers={
31 | 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0'
32 | }
33 | self.threads = []
34 | self.target=target
35 | self.lock = threading.Lock()
36 | self.thread_num = thread_num
37 | self.data=[]
38 | self.dirs=[] #存储所有路径
39 | self.files=[]
40 | self.scan_files=['ASP.txt','ASPX.txt','DIR.txt','JSP.txt','MDB.txt','PHP.txt']
41 | print 'types:{}\n'.format(types)
42 | for i in types:
43 | self.files.append(self.scan_files[int(i)])
44 |
45 | def dir_scan(self,dirs):
46 | for c_dir in dirs:
47 | if len(c_dir.strip()) == 0:
48 | continue
49 | url = self.target + c_dir
50 | try:
51 | r = requests.get(url, headers=self.headers, timeout=1)
52 | if r.status_code == 200 or r.status_code==403:
53 | if re.search('404',r.text,re.I):
54 | pass
55 | else:
56 | self.lock.acquire()
57 | self.data.append((r.status_code, c_dir[:-1]))
58 | self.lock.release()
59 | except Exception:
60 | continue
61 |
62 | def start_threads(self):
63 | step=len(self.dirs)/self.thread_num
64 | for i in range(self.thread_num):
65 | if i==self.thread_num-1:
66 | arg = (self.dirs[i * step:],)
67 | else:
68 | arg = (self.dirs[i * step:(i + 1) * step],)
69 | t = threading.Thread(target=self.dir_scan,args=arg)
70 | self.threads.append(t)
71 |
72 | for t in self.threads:
73 | t.start()
74 |
75 | for t in self.threads:
76 | t.join()
77 |
78 | def run(self):
79 | for i in self.files:
80 | with open(os.path.join(basedir,'app/api/dirscan/'+i),'r') as f:
81 | for item in f.readlines():
82 | self.dirs.append(item)
83 | self.start_threads()
84 |
85 | def get_data(self):
86 | while True:
87 | is_finish=True
88 | for i in self.threads:
89 | if i.isAlive():
90 | is_finish=False
91 | break
92 | if is_finish:
93 | return self.data
94 |
--------------------------------------------------------------------------------
/wtf/app/api/dirscan/dirscan.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/dirscan/dirscan.pyc
--------------------------------------------------------------------------------
/wtf/app/api/ip2area/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/ip2area/__init__.py
--------------------------------------------------------------------------------
/wtf/app/api/ip2area/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/ip2area/__init__.pyc
--------------------------------------------------------------------------------
/wtf/app/api/ip2area/ip.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 |
3 | from ip2Region import Ip2Region
4 | from app.api import api
5 | from flask import request
6 | import socket
7 | from config import basedir
8 | import os
9 | from app.utils import *
10 | import re
11 |
12 |
13 | @api.route('/ip2region')
14 | def get_iparea():
15 | target = str(request.args.get('target', ''))
16 | if not re.match('^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$',target):
17 | if target.startswith('http://') or target.startswith('https://'):
18 | domain = target.split('/')[2]
19 | else:
20 | domain = target.split('/')[0]
21 | ip = socket.getaddrinfo(domain, 80)[0][4][0]
22 | else:
23 | ip=target
24 | searcher = Ip2Region(os.path.join(basedir, 'app/api/ip2area/ip2region.db'))
25 | data = searcher.btreeSearch(ip)
26 | searcher.close()
27 | return success(data=data)
--------------------------------------------------------------------------------
/wtf/app/api/ip2area/ip.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/ip2area/ip.pyc
--------------------------------------------------------------------------------
/wtf/app/api/ip2area/ip2Region.py:
--------------------------------------------------------------------------------
1 | #-*- coding:utf-8 -*-
2 | """
3 | " ip2region python seacher client module
4 | "
5 | " Author: koma
6 | " Date : 2015-11-06
7 | """
8 | import struct, io, socket, sys
9 |
10 | class Ip2Region(object):
11 | __headerSip = []
12 | __headerPtr = []
13 | __f = None
14 | __sPtr = 0
15 | __indexLen = 0
16 | __dbBinStr = ''
17 |
18 | def __init__(self, dbfile):
19 | self.initDatabase(dbfile)
20 |
21 | def memorySearch(self, ip):
22 | """
23 | " memory search method
24 | " param: ip
25 | """
26 | if not ip.isdigit(): ip = self.ip2long(ip)
27 |
28 | if self.__dbBinStr == '':
29 | self.__dbBinStr = self.__f.read() #read all the contents in file
30 | self.__sPtr = self.getLong(self.__dbBinStr, 0)
31 | endPtr = self.getLong(self.__dbBinStr, 4)
32 | self.__indexLen = endPtr - self.__sPtr
33 |
34 | startPtr = self.__sPtr
35 | indexLen = self.__indexLen
36 | dbBinStr = self.__dbBinStr
37 |
38 | l, h, mixPtr = (0, int(indexLen/12), 0)
39 | while l <= h:
40 | m = int((l+h)/2)
41 | ptr = startPtr + m*12
42 |
43 | sip = self.getLong(dbBinStr, ptr)
44 | eip = self.getLong(dbBinStr, ptr+4)
45 |
46 | if ip >= sip:
47 | if ip > eip:
48 | l = m + 1
49 | else:
50 | mixPtr = self.getLong(dbBinStr, ptr+8)
51 | break;
52 | else:
53 | h = m - 1
54 |
55 | if mixPtr == 0: return "N2"
56 |
57 | return self.returnData(mixPtr)
58 |
59 | def binarySearch(self, ip):
60 | """
61 | " binary search method
62 | " param: ip
63 | """
64 | if not ip.isdigit(): ip = self.ip2long(ip)
65 |
66 | if self.__indexLen < 1:
67 | self.__f.seek(0)
68 | b = self.__f.read(8)
69 | self.__sPtr = self.getLong(b, 0)
70 | endPtr = self.getLong(b, 4)
71 | self.__indexLen = endPtr - self.__sPtr
72 |
73 | startPtr = self.__sPtr
74 | indexLen = self.__indexLen
75 |
76 | self.__f.seek(startPtr)
77 | b = self.__f.read(indexLen+12)
78 |
79 | l, h, mixPtr = (0, int(indexLen/12), 0)
80 | while l <= h:
81 | m = int((l+h)/2)
82 | ptr = startPtr + m*12
83 | self.__f.seek(ptr)
84 |
85 | b = self.__f.read(12)
86 | sip = self.getLong(b, 0)
87 | eip = self.getLong(b, 4)
88 |
89 | if ip >= sip:
90 | if ip > eip:
91 | l = m + 1
92 | else:
93 | mixPtr = self.getLong(b, 8)
94 | break;
95 | else:
96 | h = m - 1
97 |
98 | if mixPtr == 0: return "N2"
99 |
100 | return self.returnData(mixPtr)
101 |
102 | def btreeSearch(self, ip):
103 | """
104 | " b-tree search method
105 | " param: ip
106 | """
107 | if not ip.isdigit(): ip = self.ip2long(ip)
108 |
109 | if len(self.__headerSip) < 1:
110 | #pass the super block
111 | self.__f.seek(8)
112 | #read the header block
113 | b = self.__f.read(8192)
114 | #parse the header block
115 | sip = None
116 | ptr = None
117 | for i in range(0, len(b)-1, 8):
118 | sip = self.getLong(b, i)
119 | ptr = self.getLong(b, i+4)
120 | if ptr == 0:
121 | break
122 | self.__headerSip.append(sip)
123 | self.__headerPtr.append(ptr)
124 |
125 | headerLen = len(self.__headerSip) - 1
126 | l, h, sptr, eptr = (0, headerLen, 0, 0)
127 | while l <= h:
128 | m = int((l+h)/2)
129 |
130 | if ip == self.__headerSip[m]:
131 | if m > 0:
132 | sptr = self.__headerPtr[m-1]
133 | eptr = self.__headerPtr[m]
134 | break;
135 | else:
136 | sptr = self.__headerPtr[m]
137 | eptr = self.__headerPtr[m+1]
138 | break;
139 |
140 | if ip > self.__headerSip[m]:
141 | if m == headerLen:
142 | sptr = self.__headerPtr[m-1]
143 | eptr = self.__headerPtr[m]
144 | break;
145 | elif ip < self.__headerSip[m+1]:
146 | sptr = self.__headerPtr[m]
147 | eptr = self.__headerPtr[m+1]
148 | break;
149 |
150 | l = m + 1
151 | else:
152 | if m == 0:
153 | sptr = self.__headerPtr[m]
154 | eptr = self.__headerPtr[m+1]
155 | break;
156 | elif ip > self.__headerSip[m-1]:
157 | sptr = self.__headerPtr[m-1]
158 | eptr = self.__headerPtr[m]
159 | break;
160 |
161 | h = m - 1
162 |
163 | if sptr == 0: return "N1"
164 |
165 | indexLen = eptr - sptr
166 | self.__f.seek(sptr)
167 | b = self.__f.read(indexLen + 12)
168 |
169 | l, h, mixPtr = (0, int(indexLen/12), 0)
170 | while l <= h:
171 | m = int((l+h)/2)
172 | offset = m * 12
173 |
174 | if ip >= self.getLong(b, offset):
175 | if ip > self.getLong(b, offset+4):
176 | l = m + 1
177 | else:
178 | mixPtr = self.getLong(b, offset+8)
179 | break;
180 | else:
181 | h = m - 1
182 |
183 | if mixPtr == 0: return "N2"
184 |
185 | return self.returnData(mixPtr)
186 |
187 | def initDatabase(self, dbfile):
188 | """
189 | " initialize the database for search
190 | " param: dbFile
191 | """
192 | try:
193 | self.__f = io.open(dbfile, "rb")
194 | except IOError, e:
195 | print "[Error]: ", e
196 | sys.exit()
197 |
198 | def returnData(self, dsptr):
199 | """
200 | " get ip data from db file by data start ptr
201 | " param: dsptr
202 | """
203 | dataPtr = dsptr & 0x00FFFFFFL
204 | dataLen = (dsptr >> 24) & 0xFF
205 |
206 | self.__f.seek(dataPtr)
207 | data = self.__f.read(dataLen)
208 |
209 | return {
210 | "city_id": self.getLong(data, 0),
211 | "region" : data[4:]
212 | }
213 |
214 | def ip2long(self, ip):
215 | _ip = socket.inet_aton(ip)
216 |
217 | return struct.unpack("!L", _ip)[0]
218 |
219 | def isip(self, ip):
220 | p = ip.split(".")
221 |
222 | if len(p) != 4 : return False
223 | for pp in p:
224 | if not pp.isdigit() : return False
225 | if len(pp) > 3 : return False
226 | if int(pp) > 255 : return False
227 |
228 | return True
229 |
230 | def getLong(self, b, offset):
231 | if len( b[offset:offset+4] ) == 4:
232 | return struct.unpack('I', b[offset:offset+4])[0]
233 |
234 | return 0
235 |
236 | def close(self):
237 | self.__headerSip = None
238 | self.__headerPtr = None
239 | self.__f.close()
240 | self.__f = None
241 |
--------------------------------------------------------------------------------
/wtf/app/api/ip2area/ip2Region.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/ip2area/ip2Region.pyc
--------------------------------------------------------------------------------
/wtf/app/api/ip2area/ip2region.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/ip2area/ip2region.db
--------------------------------------------------------------------------------
/wtf/app/api/portscan.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 | '''
3 | 全端口扫描
4 | '''
5 |
6 | import threading
7 | import socket
8 | from . import api
9 | from app.utils import *
10 | from flask import request
11 |
12 | @api.route('/all_portscan')
13 | def all_portscan():
14 | target = str(request.args.get('target', ''))
15 | ip=url2ip(target)
16 | portscan=PortSacn(ip)
17 | portscan.run()
18 | return success(portscan.get_data())
19 |
20 |
21 | class PortSacn:
22 | def __init__(self,ip,thread_num=20):
23 | self.data=[]
24 | self.ip=ip
25 | self.threads = []
26 | self.lock = threading.Lock()
27 | self.thread_num = thread_num
28 |
29 | def test_port(self,ports_range=()):
30 | for i in range(ports_range[0],ports_range[1]):
31 | cli_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
32 | try:
33 | indicator = cli_sock.connect_ex((self.ip, i))
34 | if indicator == 0:
35 | self.lock.acquire()
36 | self.data.append(i)
37 | self.lock.release()
38 | cli_sock.close()
39 | except Exception:
40 | pass
41 |
42 | def start_threads(self):
43 | step=65535/self.thread_num
44 | for i in range(self.thread_num):
45 | t = threading.Thread(target=self.test_port,args=((step*i+1,step*(i+1)),))
46 | self.threads.append(t)
47 |
48 | for t in self.threads:
49 | t.start()
50 |
51 | for t in self.threads:
52 | t.join()
53 |
54 | def run(self):
55 | self.start_threads()
56 |
57 | def get_data(self):
58 | while True:
59 | for item in self.threads:
60 | if item.isAlive():
61 | continue
62 | return self.data
63 |
64 | if __name__ == "__main__":
65 | portscan=PortSacn('222.186.24.54')
66 | portscan.run()
67 | print portscan.data
--------------------------------------------------------------------------------
/wtf/app/api/portscan.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/portscan.pyc
--------------------------------------------------------------------------------
/wtf/app/api/simple_portscan.py:
--------------------------------------------------------------------------------
1 | from . import api
2 | from flask import request
3 | from app.utils import *
4 | import socket
5 |
6 |
7 | @api.route('/simple_portscan')
8 | def simple_portscan():
9 | target = str(request.args.get('target', ''))
10 | ip=url2ip(target)
11 | ports=[21,22,23,135,445,443,80,1433,3306,3389,6379,8080,8088]
12 | data=[]
13 | socket.setdefaulttimeout(0.5)
14 | for i in ports:
15 | cli_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
16 | try:
17 | indicator = cli_sock.connect_ex((ip, i))
18 | if indicator == 0:
19 | data.append(i)
20 | except Exception,e:
21 | pass
22 | cli_sock.close()
23 | return success(data)
--------------------------------------------------------------------------------
/wtf/app/api/simple_portscan.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/simple_portscan.pyc
--------------------------------------------------------------------------------
/wtf/app/api/subdomain.py:
--------------------------------------------------------------------------------
1 | from . import api
2 | from flask import request
3 | import requests
4 | from pyquery import PyQuery as pq
5 | from app.utils import *
6 |
7 |
8 | @api.route('/subdomain')
9 | def get_subdomain():
10 | target = str(request.args.get('target', ''))
11 | main_domain=get_maindomain(target)
12 | data=search(main_domain)
13 | return success(data)
14 |
15 |
16 | def search(domain):
17 | url="http://i.links.cn/subdomain/"
18 | subdomain=[]
19 | headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0'}
20 | payload={
21 | 'domain':domain,
22 | 'b2':1,
23 | 'b3':1,
24 | 'b4':1
25 | }
26 | r=requests.post(url,headers=headers,data=payload)
27 | doc=pq(r.text)
28 | for item in doc('.domain').items():
29 | subdomain.append(item.text()[9:])
30 | return subdomain
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/wtf/app/api/subdomain.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/api/subdomain.pyc
--------------------------------------------------------------------------------
/wtf/app/api/test.py:
--------------------------------------------------------------------------------
1 | import requests
2 | import re
3 |
4 | url='http://www.dyboy.cn/admin'
5 | headers={
6 | 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0'
7 | }
8 | r=requests.get(url, headers=headers, timeout=1)
9 | print r.status_code
10 | print r.text
11 | if re.search('404',r.text,re.I):
12 | print "404"
13 | else:
14 | print re.search('404', r.text, re.I)
--------------------------------------------------------------------------------
/wtf/app/decorators.py:
--------------------------------------------------------------------------------
1 | from functools import wraps
2 | from flask import abort
3 | from flask_login import current_user
4 | from .models import Permission
5 |
6 |
7 | def permission_required(permission):
8 | def decorator(f):
9 | @wraps(f)
10 | def decorated_function(*args, **kwargs):
11 | pass
12 | return f(*args, **kwargs)
13 | return decorated_function
14 | return decorator
15 |
16 |
--------------------------------------------------------------------------------
/wtf/app/email.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/email.py
--------------------------------------------------------------------------------
/wtf/app/models.py:
--------------------------------------------------------------------------------
1 | from . import db
2 |
3 |
--------------------------------------------------------------------------------
/wtf/app/models.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/models.pyc
--------------------------------------------------------------------------------
/wtf/app/utils/__init__.py:
--------------------------------------------------------------------------------
1 | from success import success
2 | from error import error
3 | from getdomian import get_maindomain
4 | from url2ip import url2ip
5 | __all__=['success','error','get_maindomain','url2ip']
--------------------------------------------------------------------------------
/wtf/app/utils/__init__.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/utils/__init__.pyc
--------------------------------------------------------------------------------
/wtf/app/utils/error.py:
--------------------------------------------------------------------------------
1 | from flask import jsonify
2 |
3 | def error(data):
4 | return jsonify({'data':data,'status':False})
--------------------------------------------------------------------------------
/wtf/app/utils/error.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/utils/error.pyc
--------------------------------------------------------------------------------
/wtf/app/utils/getdomian.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 | def get_maindomain(target):
3 | '''
4 | 获取主域名
5 | '''
6 | if target.startswith('http://') or target.startswith('https://'):
7 | domain=target.split('/')[2]
8 | else:
9 | domain = target.split('/')[0]
10 | if domain.startswith('www'):
11 | return domain[4:]
12 | else:
13 | return domain
--------------------------------------------------------------------------------
/wtf/app/utils/getdomian.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/utils/getdomian.pyc
--------------------------------------------------------------------------------
/wtf/app/utils/success.py:
--------------------------------------------------------------------------------
1 | from flask import jsonify
2 |
3 | def success(data):
4 | return jsonify({'data':data,'status':True})
--------------------------------------------------------------------------------
/wtf/app/utils/success.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/utils/success.pyc
--------------------------------------------------------------------------------
/wtf/app/utils/url2ip.py:
--------------------------------------------------------------------------------
1 | import socket
2 |
3 |
4 | def url2ip(target):
5 | if target.startswith('http://') or target.startswith('https://'):
6 | domain=target.split('/')[2]
7 | else:
8 | domain = target.split('/')[0]
9 | ip=socket.getaddrinfo(domain, 80)[0][4][0]
10 | return ip
--------------------------------------------------------------------------------
/wtf/app/utils/url2ip.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/app/utils/url2ip.pyc
--------------------------------------------------------------------------------
/wtf/cmd.bat:
--------------------------------------------------------------------------------
1 | cmd.exe
--------------------------------------------------------------------------------
/wtf/config.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | basedir=os.path.abspath(os.path.dirname(__file__))
4 |
5 | class Config(object):
6 | ADMIN='si'
7 | DEBUG=True
8 | SQLALCHEMY_DATABASE_URI=""
9 |
10 |
11 | class DevConfig(Config):
12 | SQLALCHEMY_DATABASE_URI='sqlite:///' + os.path.join(basedir, 'data.db')
13 | HEADERS={
14 | 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0'
15 | }
16 |
17 |
18 | config={
19 | 'default':DevConfig
20 | }
--------------------------------------------------------------------------------
/wtf/config.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/config.pyc
--------------------------------------------------------------------------------
/wtf/data.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dyboy2017/WTF_Scan/b60eda373e92079b99dbbd9ce3124f301e419547/wtf/data.db
--------------------------------------------------------------------------------
/wtf/manage.py:
--------------------------------------------------------------------------------
1 | from app import create_app,db,models
2 | from flask_script import Manager,Shell
3 |
4 | app=create_app()
5 |
6 | manager=Manager(app)
7 |
8 |
9 | def make_shell_context():
10 | return dict(app=app, db=db)
11 | manager.add_command("shell", Shell(make_context=make_shell_context))
12 |
13 | @manager.command
14 | def run():
15 | ''' run the app '''
16 | app.run(port=5000,host='0.0.0.0')
17 |
18 |
19 | if __name__ == "__main__":
20 | manager.run()
--------------------------------------------------------------------------------
/wtf/requirements.txt:
--------------------------------------------------------------------------------
1 | requests
2 | flask
3 | pyquery
4 | flask_script
5 | flask_sqlalchemy
--------------------------------------------------------------------------------