Class: CMSScanner::Target::Scope

Inherits:
Object
  • Object
show all
Defined in:
lib/cms_scanner/target/scope.rb

Overview

Scope Implementation

Instance Method Summary collapse

Instance Method Details

#<<(element) ⇒ Object



78
79
80
81
82
83
84
# File 'lib/cms_scanner/target/scope.rb', line 78

def <<(element)
  if PublicSuffix.valid?(element, ignore_private: true)
    domains << PublicSuffix.parse(element, ignore_private: true)
  else
    invalid_domains << element
  end
end

#domains ⇒ Array<PublicSuffix::Domain>

Returns The valid domains in scope.

Returns:



69
70
71
# File 'lib/cms_scanner/target/scope.rb', line 69

def domains
  @domains ||= []
end

#include?(host) ⇒ Boolean

Returns Wether or not the host is in the scope.

Returns:

  • (Boolean) —

    Wether or not the host is in the scope



87
88
89
90
91
92
93
94
95
96
97
# File 'lib/cms_scanner/target/scope.rb', line 87

def include?(host)
  if PublicSuffix.valid?(host, ignore_private: true)
    domain = PublicSuffix.parse(host, ignore_private: true)

    domains.each { |d| return true if domain.match(d) }
  else
    invalid_domains.each { |d| return true if host == d }
  end

  false
end

#invalid_domains ⇒ Array<String>

Returns The invalid domains in scope (such as IP addresses etc).

Returns:

  • (Array<String>) —

    The invalid domains in scope (such as IP addresses etc)



74
75
76
# File 'lib/cms_scanner/target/scope.rb', line 74

def invalid_domains
  @invalid_domains ||= []
end