Class: WPScan::Finders::DynamicFinder::Version::BodyPattern

Inherits:
Finder
  • Object
show all
Defined in:
lib/wpscan/finders/dynamic_finder/version/body_pattern.rb

Overview

Version finder using Body Pattern method. Typically used when the response is not an HTML doc and Xpath can’t be used

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Finder

#aggressive, child_class_constant, create_child_class, #passive

Class Method Details

.child_class_constantsHash

Returns:

  • (Hash)


11
12
13
# File 'lib/wpscan/finders/dynamic_finder/version/body_pattern.rb', line 11

def self.child_class_constants
  @child_class_constants ||= super().merge(PATTERN: nil, CONFIDENCE: 60)
end

Instance Method Details

#find(response, _opts = {}) ⇒ Version

Parameters:

Returns:



18
19
20
21
22
23
24
25
# File 'lib/wpscan/finders/dynamic_finder/version/body_pattern.rb', line 18

def find(response, _opts = {})
  return unless response.code != 404 && response.body =~ self.class::PATTERN

  create_version(
    Regexp.last_match[:v],
    interesting_entries: ["#{response.effective_url}, Match: '#{Regexp.last_match}'"]
  )
end