cms_scanner 0.13.3 → 0.13.7

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: 89d37ba77ff1070c9addc53d0ecabaf1252e3cf2bf88a91b3af80f91342adbf3
4
- data.tar.gz: 8f3b10edf7482677f61b50725fb8567149fec6d2df40ad47f45a98f8452cd774
3
+ metadata.gz: 4e844a7c12e7e4767678eee8958f7b6c863789f4478553b9260e86dea258c974
4
+ data.tar.gz: e203a131365c6b7637842c6296918135e3dc97bb6bd8a922214c3629779e622e
5
5
  SHA512:
6
- metadata.gz: acd1f06bbc57f14b3c82de562f424892e9af6b1eda64e7dcdbc9a8ade93cd87ed5bab4f449cedf0653dab7df3ba9e9f3cdb84e2847da9a68f958cd8d7e0531a1
7
- data.tar.gz: 1d0f21bd6935c6fa2e4302db95a70932b7a472ec68dceb42b7cd44ed2a999b893313e924b7b8bd5396eac2ce2739f3d5ef675b2d5a3c408e4bd12666904a99cf
6
+ metadata.gz: 4d1f9c65037c59a457dd2fb4370151b0cdc0639d5dcf01d84cfc2fba1b5956ab4761434ee0b85daff31aacf0fd1db0e61c74c34688678a23d72bee7108636ede
7
+ data.tar.gz: bb9e70348937efab985f82b5baca41e74fdbcfa7620b7fff1ef9f935f8562e8b0d3531bf0a0a2d73aaa1393305999d6bf3b8656f570b2c012d286784c44b40a3
@@ -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
- 'If used, the max threads will be set to 1.']),
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
- 'option to ignore the redirection and scan the target, or change the --url option value to the redirected URL.'
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
@@ -62,7 +62,7 @@ module CMSScanner
62
62
  return unless valid_response_codes.include?(full_res.code)
63
63
 
64
64
  return if target.homepage_or_404?(full_res) ||
65
- opts[:exclude_content] && full_res.body&.match(opts[:exclude_content])
65
+ (opts[:exclude_content] && full_res.body&.match(opts[:exclude_content]))
66
66
 
67
67
  full_res
68
68
  end
@@ -84,6 +84,8 @@ module CMSScanner
84
84
  puts render(tpl, vars, controller_name)
85
85
  end
86
86
 
87
+ ERB_SUPPORTS_KVARGS = ::ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
88
+
87
89
  # @param [ String ] tpl
88
90
  # @param [ Hash ] vars
89
91
  # @param [ String ] controller_name
@@ -93,7 +95,12 @@ module CMSScanner
93
95
 
94
96
  # '-' is used to disable new lines when -%> is used
95
97
  # See http://www.ruby-doc.org/stdlib-2.1.1/libdoc/erb/rdoc/ERB.html
96
- ERB.new(File.read(view_path(tpl)), nil, '-').result(binding)
98
+ # Since ruby 2.6, KVARGS are supported and passing argument is deprecated in ruby 3+
99
+ if ERB_SUPPORTS_KVARGS
100
+ ERB.new(File.read(view_path(tpl)), trim_mode: '-').result(binding)
101
+ else
102
+ ERB.new(File.read(view_path(tpl)), nil, '-').result(binding)
103
+ end
97
104
  end
98
105
 
99
106
  # @param [ Hash ] vars
@@ -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
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Version
4
4
  module CMSScanner
5
- VERSION = '0.13.3'
5
+ VERSION = '0.13.7'
6
6
  end
@@ -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 = +site_url
11
+ self.url = site_url
12
12
  @opts = opts
13
13
  end
14
14
 
15
15
  def url=(site_url)
16
- # Add a trailing slash to the site url
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
- # Use the validator to ensure the site_url has a correct format
21
- OptParseValidator::OptURL.new([]).validate(site_url)
18
+ # Add a trailing slash to the URL
19
+ new_url << '/' if new_url[-1, 1] != '/'
22
20
 
23
- @uri = Addressable::URI.parse(site_url).normalize
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,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cms_scanner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.3
4
+ version: 0.13.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - WPScanTeam
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-22 00:00:00.000000000 Z
11
+ date: 2022-02-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'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '0.16'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0.14'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.16'
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: get_process_mem
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -28,30 +48,36 @@ dependencies:
28
48
  name: nokogiri
29
49
  requirement: !ruby/object:Gem::Requirement
30
50
  requirements:
31
- - - "~>"
51
+ - - ">="
32
52
  - !ruby/object:Gem::Version
33
- version: 1.11.0
53
+ version: 1.11.4
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: 1.14.0
34
57
  type: :runtime
35
58
  prerelease: false
36
59
  version_requirements: !ruby/object:Gem::Requirement
37
60
  requirements:
38
- - - "~>"
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.11.4
64
+ - - "<"
39
65
  - !ruby/object:Gem::Version
40
- version: 1.11.0
66
+ version: 1.14.0
41
67
  - !ruby/object:Gem::Dependency
42
68
  name: opt_parse_validator
43
69
  requirement: !ruby/object:Gem::Requirement
44
70
  requirements:
45
71
  - - "~>"
46
72
  - !ruby/object:Gem::Version
47
- version: 1.9.4
73
+ version: 1.9.5
48
74
  type: :runtime
49
75
  prerelease: false
50
76
  version_requirements: !ruby/object:Gem::Requirement
51
77
  requirements:
52
78
  - - "~>"
53
79
  - !ruby/object:Gem::Version
54
- version: 1.9.4
80
+ version: 1.9.5
55
81
  - !ruby/object:Gem::Dependency
56
82
  name: public_suffix
57
83
  requirement: !ruby/object:Gem::Requirement
@@ -182,14 +208,14 @@ dependencies:
182
208
  requirements:
183
209
  - - "~>"
184
210
  - !ruby/object:Gem::Version
185
- version: 3.10.0
211
+ version: 3.11.0
186
212
  type: :development
187
213
  prerelease: false
188
214
  version_requirements: !ruby/object:Gem::Requirement
189
215
  requirements:
190
216
  - - "~>"
191
217
  - !ruby/object:Gem::Version
192
- version: 3.10.0
218
+ version: 3.11.0
193
219
  - !ruby/object:Gem::Dependency
194
220
  name: rspec-its
195
221
  requirement: !ruby/object:Gem::Requirement
@@ -210,28 +236,28 @@ dependencies:
210
236
  requirements:
211
237
  - - "~>"
212
238
  - !ruby/object:Gem::Version
213
- version: 1.11.0
239
+ version: 1.25.0
214
240
  type: :development
215
241
  prerelease: false
216
242
  version_requirements: !ruby/object:Gem::Requirement
217
243
  requirements:
218
244
  - - "~>"
219
245
  - !ruby/object:Gem::Version
220
- version: 1.11.0
246
+ version: 1.25.0
221
247
  - !ruby/object:Gem::Dependency
222
248
  name: rubocop-performance
223
249
  requirement: !ruby/object:Gem::Requirement
224
250
  requirements:
225
251
  - - "~>"
226
252
  - !ruby/object:Gem::Version
227
- version: 1.10.0
253
+ version: 1.13.0
228
254
  type: :development
229
255
  prerelease: false
230
256
  version_requirements: !ruby/object:Gem::Requirement
231
257
  requirements:
232
258
  - - "~>"
233
259
  - !ruby/object:Gem::Version
234
- version: 1.10.0
260
+ version: 1.13.0
235
261
  - !ruby/object:Gem::Dependency
236
262
  name: simplecov
237
263
  requirement: !ruby/object:Gem::Requirement
@@ -266,14 +292,14 @@ dependencies:
266
292
  requirements:
267
293
  - - "~>"
268
294
  - !ruby/object:Gem::Version
269
- version: 3.12.0
295
+ version: 3.14.0
270
296
  type: :development
271
297
  prerelease: false
272
298
  version_requirements: !ruby/object:Gem::Requirement
273
299
  requirements:
274
300
  - - "~>"
275
301
  - !ruby/object:Gem::Version
276
- version: 3.12.0
302
+ version: 3.14.0
277
303
  description: Framework to provide an easy way to implement CMS Scanners
278
304
  email:
279
305
  - contact@wpscan.com
@@ -393,7 +419,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
393
419
  - !ruby/object:Gem::Version
394
420
  version: '0'
395
421
  requirements: []
396
- rubygems_version: 3.0.3
422
+ rubygems_version: 3.0.3.1
397
423
  signing_key:
398
424
  specification_version: 4
399
425
  summary: CMS Scanner Framework (experimental)