Sha256: 54b7e8d892d4661eb78d52473e8b4042b3c678c7bd6f4500f48c32a047a16a8e
Contents?: true
Size: 1.37 KB
Versions: 6
Compression:
Stored size: 1.37 KB
Contents
module WPScan module DB # Dynamic Finders class DynamicFinders # @return [ String ] def self.db_file @db_file ||= File.join(DB_DIR, 'dynamic_finders.yml') end # @return [ Hash ] def self.db_data @db_data ||= YAML.load_file(db_file) end # @return [ Hash ] def self.finder_configs(finder_klass) configs = {} db_data.each do |slug, config| next unless config[finder_klass] configs[slug] = config[finder_klass].dup end configs end end # Dynamic Plugin Finders class DynamicPluginFinders < DynamicFinders # @return [ Hash ] def self.db_data @db_data ||= super['plugins'] || {} end # @return [ Hash ] def self.comments unless @comments @comments = finder_configs('Comments') @comments.each do |slug, config| @comments[slug]['pattern'] = Regexp.new(config['pattern'], Regexp::IGNORECASE) end end @comments end # @return [ Hash ] def self.urls_in_page @urls_in_page ||= finder_configs('UrlsInPage') end end # Dynamic Theme Finders (none ATM) class DynamicThemeFinders < DynamicFinders # @return [ Hash ] def self.db_data @db_data ||= super['themes'] || {} end end end end
Version data entries
6 entries across 6 versions & 1 rubygems