Sha256: 6194897bd4bc7a7ae18bb436fa31b8764ea44771bfeffc59d6cf34bd2d055a91

Contents?: true

Size: 1.25 KB

Versions: 11

Compression:

Stored size: 1.25 KB

Contents

require_relative 'wp_version/rss_generator'
require_relative 'wp_version/atom_generator'
require_relative 'wp_version/rdf_generator'
require_relative 'wp_version/readme'
require_relative 'wp_version/unique_fingerprinting'

module WPScan
  module Finders
    # Specific Finders container to filter the version detected
    # and remove the one with low confidence to avoid false
    # positive when there is not enought information to accurately
    # determine it.
    class WpVersionFinders < UniqueFinders
      def filter_findings
        best_finding = super

        best_finding && best_finding.confidence >= 40 ? best_finding : false
      end
    end

    module WpVersion
      # Wp Version Finder
      class Base
        include CMSScanner::Finders::UniqueFinder

        # @param [ WPScan::Target ] target
        def initialize(target)
          (%w[RSSGenerator AtomGenerator RDFGenerator] +
           WPScan::DB::DynamicFinders::Wordpress.versions_finders_configs.keys +
           %w[Readme UniqueFingerprinting]
          ).each do |finder_name|
            finders << WpVersion.const_get(finder_name.to_sym).new(target)
          end
        end

        def finders
          @finders ||= Finders::WpVersionFinders.new
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
wpscan-3.4.5 app/finders/wp_version.rb
wpscan-3.4.4 app/finders/wp_version.rb
wpscan-3.4.3 app/finders/wp_version.rb
wpscan-3.4.2 app/finders/wp_version.rb
wpscan-3.4.1 app/finders/wp_version.rb
wpscan-3.4.0 app/finders/wp_version.rb
wpscan-3.3.3 app/finders/wp_version.rb
wpscan-3.3.2 app/finders/wp_version.rb
wpscan-3.3.1 app/finders/wp_version.rb
wpscan-3.3.0 app/finders/wp_version.rb
wpscan-3.2.1 app/finders/wp_version.rb