Class: WPScan::Finders::InterestingFindings::Multisite

Inherits:
CMSScanner::Finders::Finder
  • Object
show all
Defined in:
app/finders/interesting_findings/multisite.rb

Overview

Multisite checker

Instance Method Summary collapse

Instance Method Details

#aggressive(_opts = {}) ⇒ InterestingFinding

Returns:

  • (InterestingFinding)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/finders/interesting_findings/multisite.rb', line 9

def aggressive(_opts = {})
  url      = target.url('wp-signup.php')
  res      = Browser.get(url)
  location = res.headers_hash['location']

  return unless [200, 302].include?(res.code)
  return if res.code == 302 && location =~ /wp-login\.php\?action=register/
  return unless res.code == 200 || res.code == 302 && location =~ /wp-signup\.php/

  target.multisite = true

  Model::Multisite.new(
    url,
    confidence: 100,
    found_by: DIRECT_ACCESS,
    to_s: 'This site seems to be a multisite',
    references: { url: 'http://codex.wordpress.org/Glossary#Multisite' }
  )
end