Sha256: 41df06853a87d4aaed897fceea21ef306e1f5b0043fe94b986eaa91f7720a8a2

Contents?: true

Size: 1.31 KB

Versions: 6

Compression:

Stored size: 1.31 KB

Contents

require_relative 'plugin_version/readme'
# Plugins Specific
require_relative 'plugin_version/layer_slider/translation_file'
require_relative 'plugin_version/revslider/release_log'
require_relative 'plugin_version/sitepress_multilingual_cms/version_parameter'
require_relative 'plugin_version/sitepress_multilingual_cms/meta_generator'
require_relative 'plugin_version/w3_total_cache/headers'
require_relative 'plugin_version/shareaholic/meta_tag'

module WPScan
  module Finders
    module PluginVersion
      # Plugin Version Finder
      class Base
        include CMSScanner::Finders::UniqueFinder

        # @param [ WPScan::Plugin ] plugin
        def initialize(plugin)
          finders << PluginVersion::Readme.new(plugin)

          load_specific_finders(plugin)
        end

        # Load the finders associated with the plugin
        #
        # @param [ WPScan::Plugin ] plugin
        def load_specific_finders(plugin)
          module_name = plugin.classify_name.to_sym

          return unless Finders::PluginVersion.constants.include?(module_name)

          mod = Finders::PluginVersion.const_get(module_name)

          mod.constants.each do |constant|
            c = mod.const_get(constant)

            next unless c.is_a?(Class)

            finders << c.new(plugin)
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
wpscan-3.0.8 app/finders/plugin_version.rb
wpscan-3.0.7 app/finders/plugin_version.rb
wpscan-3.0.6 app/finders/plugin_version.rb
wpscan-3.0.5 app/finders/plugin_version.rb
wpscan-3.0.4 app/finders/plugin_version.rb
wpscan-3.0.3 app/finders/plugin_version.rb