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 +4 -4
- data/lib/cms_scanner/target/scope.rb +11 -1
- data/lib/cms_scanner/target/server/generic.rb +1 -4
- data/lib/cms_scanner/version.rb +1 -1
- metadata +18 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 852cc56f2b2507dc7bee74f7c77a7263f93f0ee270346f6f32abbe2738c2f08e
         | 
| 4 | 
            +
              data.tar.gz: 4b638a4d597a8ad98ab5ada204444698d0148f241ff4ee151ea8adf76d20a475
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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] | 
| 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 = []
         | 
    
        data/lib/cms_scanner/version.rb
    CHANGED
    
    
    
        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. | 
| 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- | 
| 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. | 
| 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. | 
| 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
         |