Sha256: e4621b79185d66fd8c3fff830bc895c9346ad0390166e0a83806729dda2a8d1c
Contents?: true
Size: 1.12 KB
Versions: 45
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module WPScan module Finders module Plugins # Plugins finder from Dynamic Finder 'HeaderPattern' class HeaderPattern < Finders::DynamicFinder::WpItems::Finder DEFAULT_CONFIDENCE = 30 # @param [ Hash ] opts # # @return [ Array<Plugin> ] def passive(opts = {}) found = [] headers = target.homepage_res.headers return found if headers.empty? DB::DynamicFinders::Plugin.passive_header_pattern_finder_configs.each do |slug, configs| configs.each do |klass, config| next unless headers[config['header']] && headers[config['header']].to_s =~ config['pattern'] found << Model::Plugin.new( slug, target, opts.merge(found_by: found_by(klass), confidence: config['confidence'] || DEFAULT_CONFIDENCE) ) end end found end # @param [ Hash ] opts # # @return [ nil ] def aggressive(_opts = {}) # None end end end end end
Version data entries
45 entries across 45 versions & 1 rubygems