cms_scanner 0.5.0 → 0.5.1

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: e65984931fa24f33ef5325d00f07d25e954e76b89df0185491cb9eccce9ed274
4
- data.tar.gz: c8d1a85d06ac5fec7c1f4b68e942e6e276804b29b945b089f057ee7025af74bb
3
+ metadata.gz: 852cc56f2b2507dc7bee74f7c77a7263f93f0ee270346f6f32abbe2738c2f08e
4
+ data.tar.gz: 4b638a4d597a8ad98ab5ada204444698d0148f241ff4ee151ea8adf76d20a475
5
5
  SHA512:
6
- metadata.gz: 3fdddf99a93d0fab51617313c1af2ef9695d9bd137cd3f4cc32e7edf73828eeb4f5be51c31cd4773a13c1626ad635342f673d479a5d17dc91b148bd5efc30e8a
7
- data.tar.gz: 876ea5b47fe468001c846aca035a3fee83ab07019335505da3a3420d441ba40905e93e4b722fe06396f84d3168ffe894264481cc1d019f606c238b3506e5986d
6
+ metadata.gz: c49c901660cdd9d98b87941d86461d8aa0151fa7bbd1b7487f1f7523878aaed88d52a8131f15ce100fb0b6d11d05c77f597cf22da229dacf78a8da622af79492
7
+ data.tar.gz: dfa0f0e39125fc1b97c4c68c77c7fcfc4ebe8c68469ef6d3f0d8c966237600adc3822df50366aaab6b76c9eaeef0a657d329a5d051e2c1df9ac77203323eeafa
@@ -43,15 +43,25 @@ module CMSScanner
43
43
  #
44
44
  # @return [ Regexp ] The pattern related to the target url and in scope domains,
45
45
  # it also matches escaped /, such as in JSON JS data: http:\/\/t.com\/
46
+ # rubocop:disable Metrics/AbcSize
46
47
  def scope_url_pattern
47
48
  return @scope_url_pattern if @scope_url_pattern
48
49
 
49
- domains = [uri.host + uri.path] + scope.domains[1..-1]&.map(&:to_s) + scope.invalid_domains
50
+ domains = [uri.host + uri.path]
51
+
52
+ domains += if scope.domains.empty?
53
+ [*scope.invalid_domains[1..-1]]
54
+ else
55
+ [*scope.domains[1..-1]].map(&:to_s) + scope.invalid_domains
56
+ end
50
57
 
51
58
  domains.map! { |d| Regexp.escape(d.gsub(%r{/$}, '')).gsub('\*', '.*').gsub('/', '\\\\\?/') }
52
59
 
60
+ domains[0].gsub!(Regexp.escape(uri.host), Regexp.escape(uri.host) + '(?::\\d+)?') if uri.port
61
+
53
62
  @scope_url_pattern = %r{https?:\\?/\\?/(?:#{domains.join('|')})\\?/?}i
54
63
  end
64
+ # rubocop:enable Metrics/AbcSize
55
65
 
56
66
  # Scope Implementation
57
67
  class Scope
@@ -51,10 +51,7 @@ module CMSScanner
51
51
  #
52
52
  # @return [ Array<String> ] The first level of directories/files listed,
53
53
  # or an empty array if none
54
- def directory_listing_entries(
55
- path = nil, params = {},
56
- selector = 'pre a', ignore = /parent directory/i
57
- )
54
+ def directory_listing_entries(path = nil, params = {}, selector = 'pre a', ignore = /parent directory/i)
58
55
  return [] unless directory_listing?(path, params)
59
56
 
60
57
  found = []
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Version
4
4
  module CMSScanner
5
- VERSION = '0.5.0'
5
+ VERSION = '0.5.1'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cms_scanner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - WPScanTeam
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-24 00:00:00.000000000 Z
11
+ date: 2019-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -184,14 +184,28 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 0.67.2
187
+ version: 0.68.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 0.67.2
194
+ version: 0.68.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: rubocop-performance
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 1.1.0
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 1.1.0
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: simplecov
197
211
  requirement: !ruby/object:Gem::Requirement