Sha256: 1bb0fb998f7434c67daf8c1ddc699bf1e2721d7d1ca1c477892dd0b5ce92594b

Contents?: true

Size: 1.38 KB

Versions: 5

Compression:

Stored size: 1.38 KB

Contents

# frozen_string_literal: true

module WPScan
  module Finders
    module DynamicFinder
      module WpItemVersion
        class BodyPattern < WPScan::Finders::DynamicFinder::Version::BodyPattern
        end

        class Comment < WPScan::Finders::DynamicFinder::Version::Comment
        end

        class ConfigParser < WPScan::Finders::DynamicFinder::Version::ConfigParser
        end

        class HeaderPattern < WPScan::Finders::DynamicFinder::Version::HeaderPattern
        end

        class JavascriptVar < WPScan::Finders::DynamicFinder::Version::JavascriptVar
        end

        class QueryParameter < WPScan::Finders::DynamicFinder::Version::QueryParameter
          # @return [ Regexp ]
          def path_pattern
            # TODO: consider the target.blog.themes_dir if the target is a Theme (maybe implement a WpItem#item_dir ?)
            @path_pattern ||= %r{
              #{Regexp.escape(target.blog.plugins_dir)}/
              #{Regexp.escape(target.slug)}/
              (?:#{self.class::FILES.join('|')})\z
            }ix
          end

          def xpath
            @xpath ||= self.class::XPATH ||
                       "//link[contains(@href,'#{target.slug}')]/@href" \
                       "|//script[contains(@src,'#{target.slug}')]/@src"
          end
        end

        class Xpath < WPScan::Finders::DynamicFinder::Version::Xpath
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
wpscan-3.5.4 lib/wpscan/finders/dynamic_finder/wp_item_version.rb
wpscan-3.5.3 lib/wpscan/finders/dynamic_finder/wp_item_version.rb
wpscan-3.5.2 lib/wpscan/finders/dynamic_finder/wp_item_version.rb
wpscan-3.5.1 lib/wpscan/finders/dynamic_finder/wp_item_version.rb
wpscan-3.5.0 lib/wpscan/finders/dynamic_finder/wp_item_version.rb