cms_scanner 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
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