Class: CMSScanner::Vulnerability

Inherits:
Object
  • Object
show all
Includes:
References
Defined in:
lib/cms_scanner/vulnerability.rb

Overview

Generic Vulnerability

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from References

#cve_url, #cve_urls, #cves, #exploitdb_ids, #exploitdb_url, #exploitdb_urls, #msf_modules, #msf_url, #msf_urls, #packetstorm_ids, #packetstorm_url, #packetstorm_urls, #references, #references=, #references_urls, #securityfocus_ids, #securityfocus_url, #securityfocus_urls, #urls, #youtube_url, #youtube_urls

Constructor Details

#initialize(title, references: {}, type: nil, fixed_in: nil, introduced_in: nil, cvss: nil) ⇒ Vulnerability

Returns a new instance of Vulnerability.

Parameters:

  • title (String)
  • references (Hash) (defaults to: {})
  • type (String) (defaults to: nil)
  • fixed_in (String) (defaults to: nil)
  • introduced_in (String) (defaults to: nil)
  • cvss (HashSymbol) (defaults to: nil)

Options Hash (references:):

  • :cve (Array<String>, String)
  • :secunia (Array<String>, String)
  • :osvdb (Array<String>, String)
  • :exploitdb (Array<String>, String)
  • :url (Array<String>)

    URL(s) to related advisories etc

  • :metasploit (Array<String>, String)

    The related metasploit module(s)

  • :youtube (Array<String>)

Options Hash (cvss:):

  • :score (String)
  • :vector (String)


25
26
27
28
29
30
31
32
33
# File 'lib/cms_scanner/vulnerability.rb', line 25

def initialize(title, references: {}, type: nil, fixed_in: nil, introduced_in: nil, cvss: nil)
  @title         = title
  @type          = type
  @fixed_in      = fixed_in
  @introduced_in = introduced_in
  @cvss          = { score: cvss[:score], vector: cvss[:vector] } if cvss

  self.references = references
end

Instance Attribute Details

#cvssObject (readonly)

Returns the value of attribute cvss.



8
9
10
# File 'lib/cms_scanner/vulnerability.rb', line 8

def cvss
  @cvss
end

#fixed_inObject (readonly)

Returns the value of attribute fixed_in.



8
9
10
# File 'lib/cms_scanner/vulnerability.rb', line 8

def fixed_in
  @fixed_in
end

#introduced_inObject (readonly)

Returns the value of attribute introduced_in.



8
9
10
# File 'lib/cms_scanner/vulnerability.rb', line 8

def introduced_in
  @introduced_in
end

#titleObject (readonly)

Returns the value of attribute title.



8
9
10
# File 'lib/cms_scanner/vulnerability.rb', line 8

def title
  @title
end

#typeObject (readonly)

Returns the value of attribute type.



8
9
10
# File 'lib/cms_scanner/vulnerability.rb', line 8

def type
  @type
end

Instance Method Details

#==(other) ⇒ Boolean

param [ Vulnerability ] other

Returns:

  • (Boolean)


38
39
40
41
42
43
44
# File 'lib/cms_scanner/vulnerability.rb', line 38

def ==(other)
  title == other.title &&
    type == other.type &&
    references == other.references &&
    fixed_in == other.fixed_in &&
    cvss == other.cvss
end