Path: blob/master/app/finders/plugins/header_pattern.rb
485 views
# frozen_string_literal: true12module WPScan3module Finders4module Plugins5# Plugins finder from Dynamic Finder 'HeaderPattern'6class HeaderPattern < Finders::DynamicFinder::WpItems::Finder7DEFAULT_CONFIDENCE = 3089# @param [ Hash ] opts10#11# @return [ Array<Plugin> ]12def passive(opts = {})13found = []14headers = target.homepage_res.headers1516return found if headers.empty?1718DB::DynamicFinders::Plugin.passive_header_pattern_finder_configs.each do |slug, configs|19configs.each do |klass, config|20next unless headers[config['header']] && headers[config['header']].to_s =~ config['pattern']2122found << Model::Plugin.new(23slug,24target,25opts.merge(found_by: found_by(klass), confidence: config['confidence'] || DEFAULT_CONFIDENCE)26)27end28end2930found31end3233# @param [ Hash ] opts34#35# @return [ nil ]36def aggressive(_opts = {})37# None38end39end40end41end42end434445