cms_scanner 0.13.2 → 0.13.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa75f8f02c46d71e83a1046a0fb3e76c6ebfa35809158202cc251609031f436b
|
4
|
+
data.tar.gz: 3a7bc3d215a5b859e74c2bc7928fe210e87a10c609a0c6c4c8d166668e97865d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ee139ea50a17e94bce5231f40c5b4934c2c68d507a6b8493f1af505525e1d18628de0e76e99675d7391310b76cbfde778420004a95a801484db687d27ab031d
|
7
|
+
data.tar.gz: e1fa8194c3b4edafcb3a62650b2a00bf99b7cf058b360d338b3ff7e537901b37f5b31b6346d26db5d95b438102241f41a8670a520b65796e9f51d88b52054c9d
|
@@ -55,7 +55,7 @@ module CMSScanner
|
|
55
55
|
OptPositiveInteger.new(['-t', '--max-threads VALUE', 'The max threads to use'],
|
56
56
|
default: 5),
|
57
57
|
OptPositiveInteger.new(['--throttle MilliSeconds', 'Milliseconds to wait before doing another web request. ' \
|
58
|
-
|
58
|
+
'If used, the max threads will be set to 1.']),
|
59
59
|
OptPositiveInteger.new(['--request-timeout SECONDS', 'The request timeout in seconds'],
|
60
60
|
default: 60),
|
61
61
|
OptPositiveInteger.new(['--connect-timeout SECONDS', 'The connection timeout in seconds'],
|
@@ -64,7 +64,8 @@ module CMSScanner
|
|
64
64
|
|
65
65
|
def to_s
|
66
66
|
"The URL supplied redirects to #{redirect_uri}. Use the --ignore-main-redirect "\
|
67
|
-
|
67
|
+
'option to ignore the redirection and scan the target, or change the --url option ' \
|
68
|
+
'value to the redirected URL.'
|
68
69
|
end
|
69
70
|
end
|
70
71
|
end
|
@@ -59,8 +59,10 @@ module CMSScanner
|
|
59
59
|
|
60
60
|
full_res = NS::Browser.get(head_res.effective_url, full_request_params)
|
61
61
|
|
62
|
+
return unless valid_response_codes.include?(full_res.code)
|
63
|
+
|
62
64
|
return if target.homepage_or_404?(full_res) ||
|
63
|
-
opts[:exclude_content] && full_res.body&.match(opts[:exclude_content])
|
65
|
+
(opts[:exclude_content] && full_res.body&.match(opts[:exclude_content]))
|
64
66
|
|
65
67
|
full_res
|
66
68
|
end
|
data/lib/cms_scanner/numeric.rb
CHANGED
@@ -6,7 +6,7 @@ class Numeric
|
|
6
6
|
def bytes_to_human
|
7
7
|
units = %w[B KB MB GB TB]
|
8
8
|
e = abs.zero? ? abs : (Math.log(abs) / Math.log(1024)).floor
|
9
|
-
s = format('%<s>.3f', s: (abs.to_f / 1024**e))
|
9
|
+
s = format('%<s>.3f', s: (abs.to_f / (1024**e)))
|
10
10
|
|
11
11
|
s.sub(/\.?0*$/, " #{units[e]}")
|
12
12
|
end
|
data/lib/cms_scanner/version.rb
CHANGED
data/lib/cms_scanner/web_site.rb
CHANGED
@@ -8,19 +8,20 @@ module CMSScanner
|
|
8
8
|
# @param [ String ] site_url
|
9
9
|
# @param [ Hash ] opts
|
10
10
|
def initialize(site_url, opts = {})
|
11
|
-
self.url =
|
11
|
+
self.url = site_url
|
12
12
|
@opts = opts
|
13
13
|
end
|
14
14
|
|
15
15
|
def url=(site_url)
|
16
|
-
|
17
|
-
# Making also sure the site_url is unfrozen
|
18
|
-
+site_url << '/' if site_url[-1, 1] != '/'
|
16
|
+
new_url = site_url.dup
|
19
17
|
|
20
|
-
#
|
21
|
-
|
18
|
+
# Add a trailing slash to the URL
|
19
|
+
new_url << '/' if new_url[-1, 1] != '/'
|
22
20
|
|
23
|
-
|
21
|
+
# Use the validator to ensure the URL has a correct format
|
22
|
+
OptParseValidator::OptURL.new([]).validate(new_url)
|
23
|
+
|
24
|
+
@uri = Addressable::URI.parse(new_url).normalize
|
24
25
|
end
|
25
26
|
|
26
27
|
# @param [ String ] path Optional path to merge with the uri
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cms_scanner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WPScanTeam
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ethon
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.14.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.14.0
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: get_process_mem
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -28,30 +42,36 @@ dependencies:
|
|
28
42
|
name: nokogiri
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - "
|
45
|
+
- - ">="
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.11.
|
47
|
+
version: 1.11.4
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 1.13.0
|
34
51
|
type: :runtime
|
35
52
|
prerelease: false
|
36
53
|
version_requirements: !ruby/object:Gem::Requirement
|
37
54
|
requirements:
|
38
|
-
- - "
|
55
|
+
- - ">="
|
39
56
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.11.
|
57
|
+
version: 1.11.4
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 1.13.0
|
41
61
|
- !ruby/object:Gem::Dependency
|
42
62
|
name: opt_parse_validator
|
43
63
|
requirement: !ruby/object:Gem::Requirement
|
44
64
|
requirements:
|
45
65
|
- - "~>"
|
46
66
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.9.
|
67
|
+
version: 1.9.5
|
48
68
|
type: :runtime
|
49
69
|
prerelease: false
|
50
70
|
version_requirements: !ruby/object:Gem::Requirement
|
51
71
|
requirements:
|
52
72
|
- - "~>"
|
53
73
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.9.
|
74
|
+
version: 1.9.5
|
55
75
|
- !ruby/object:Gem::Dependency
|
56
76
|
name: public_suffix
|
57
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,28 +230,28 @@ dependencies:
|
|
210
230
|
requirements:
|
211
231
|
- - "~>"
|
212
232
|
- !ruby/object:Gem::Version
|
213
|
-
version: 1.
|
233
|
+
version: 1.21.0
|
214
234
|
type: :development
|
215
235
|
prerelease: false
|
216
236
|
version_requirements: !ruby/object:Gem::Requirement
|
217
237
|
requirements:
|
218
238
|
- - "~>"
|
219
239
|
- !ruby/object:Gem::Version
|
220
|
-
version: 1.
|
240
|
+
version: 1.21.0
|
221
241
|
- !ruby/object:Gem::Dependency
|
222
242
|
name: rubocop-performance
|
223
243
|
requirement: !ruby/object:Gem::Requirement
|
224
244
|
requirements:
|
225
245
|
- - "~>"
|
226
246
|
- !ruby/object:Gem::Version
|
227
|
-
version: 1.
|
247
|
+
version: 1.11.0
|
228
248
|
type: :development
|
229
249
|
prerelease: false
|
230
250
|
version_requirements: !ruby/object:Gem::Requirement
|
231
251
|
requirements:
|
232
252
|
- - "~>"
|
233
253
|
- !ruby/object:Gem::Version
|
234
|
-
version: 1.
|
254
|
+
version: 1.11.0
|
235
255
|
- !ruby/object:Gem::Dependency
|
236
256
|
name: simplecov
|
237
257
|
requirement: !ruby/object:Gem::Requirement
|
@@ -266,14 +286,14 @@ dependencies:
|
|
266
286
|
requirements:
|
267
287
|
- - "~>"
|
268
288
|
- !ruby/object:Gem::Version
|
269
|
-
version: 3.
|
289
|
+
version: 3.13.0
|
270
290
|
type: :development
|
271
291
|
prerelease: false
|
272
292
|
version_requirements: !ruby/object:Gem::Requirement
|
273
293
|
requirements:
|
274
294
|
- - "~>"
|
275
295
|
- !ruby/object:Gem::Version
|
276
|
-
version: 3.
|
296
|
+
version: 3.13.0
|
277
297
|
description: Framework to provide an easy way to implement CMS Scanners
|
278
298
|
email:
|
279
299
|
- contact@wpscan.com
|
@@ -393,7 +413,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
393
413
|
- !ruby/object:Gem::Version
|
394
414
|
version: '0'
|
395
415
|
requirements: []
|
396
|
-
rubygems_version: 3.0.3
|
416
|
+
rubygems_version: 3.0.3.1
|
397
417
|
signing_key:
|
398
418
|
specification_version: 4
|
399
419
|
summary: CMS Scanner Framework (experimental)
|