Module: CMSScanner::References
- Extended by:
- ActiveSupport::Concern
- Included in:
- Vulnerability
- Defined in:
- lib/cms_scanner/references.rb
Overview
References related to the issue
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#cve_url(cve) ⇒ String
The URL to the CVE.
- #cve_urls ⇒ Array<String>
-
#cves ⇒ Array<String>
The CVEs.
-
#exploitdb_ids ⇒ Array<String>
The ExploitDB ID.
- #exploitdb_url(id) ⇒ String
- #exploitdb_urls ⇒ Array<String>
-
#msf_modules ⇒ Array<String>
The metasploit modules.
-
#msf_url(mod) ⇒ String
The URL to the metasploit module page.
- #msf_urls ⇒ Array<String>
-
#osvdb_ids ⇒ Array<String>
The OSVDB IDs.
-
#osvdb_url(id) ⇒ String
The URL to the ExploitDB advisory.
- #osvdb_urls ⇒ Array<String>
-
#packetstorm_ids ⇒ Array<String>
The Packetstormsecurity IDs.
- #packetstorm_url(id) ⇒ String
- #packetstorm_urls ⇒ Array<String>
- #references ⇒ Hash
- #references=(refs) ⇒ Object
-
#references_urls ⇒ Array<String>
All the references URLs.
-
#secunia_ids ⇒ Array<String>
The Secunia IDs.
-
#secunia_url(id) ⇒ String
The URL to the Secunia advisory.
- #secunia_urls ⇒ Array<String>
-
#securityfocus_ids ⇒ Array<String>
The Security Focus IDs.
- #securityfocus_url(id) ⇒ String
- #securityfocus_urls ⇒ Array<String>
- #urls ⇒ String<Array>
Instance Method Details
#cve_url(cve) ⇒ String
Returns The URL to the CVE.
45 46 47 |
# File 'lib/cms_scanner/references.rb', line 45 def cve_url(cve) "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-#{cve}" end |
#cve_urls ⇒ Array<String>
40 41 42 |
# File 'lib/cms_scanner/references.rb', line 40 def cve_urls cves.reduce([]) { |a, e| a << cve_url(e) } end |
#cves ⇒ Array<String>
Returns The CVEs.
35 36 37 |
# File 'lib/cms_scanner/references.rb', line 35 def cves references[:cve] || [] end |
#exploitdb_ids ⇒ Array<String>
Returns The ExploitDB ID.
80 81 82 |
# File 'lib/cms_scanner/references.rb', line 80 def exploitdb_ids references[:exploitdb] || [] end |
#exploitdb_url(id) ⇒ String
90 91 92 |
# File 'lib/cms_scanner/references.rb', line 90 def exploitdb_url(id) "https://www.exploit-db.com/exploits/#{id}/" end |
#exploitdb_urls ⇒ Array<String>
85 86 87 |
# File 'lib/cms_scanner/references.rb', line 85 def exploitdb_urls exploitdb_ids.reduce([]) { |a, e| a << exploitdb_url(e) } end |
#msf_modules ⇒ Array<String>
Returns The metasploit modules.
100 101 102 |
# File 'lib/cms_scanner/references.rb', line 100 def msf_modules references[:metasploit] || [] end |
#msf_url(mod) ⇒ String
Returns The URL to the metasploit module page.
110 111 112 |
# File 'lib/cms_scanner/references.rb', line 110 def msf_url(mod) "https://www.rapid7.com/db/modules/#{mod.sub(%r{^/}, '')}" end |
#msf_urls ⇒ Array<String>
105 106 107 |
# File 'lib/cms_scanner/references.rb', line 105 def msf_urls msf_modules.reduce([]) { |a, e| a << msf_url(e) } end |
#osvdb_ids ⇒ Array<String>
Returns The OSVDB IDs.
65 66 67 |
# File 'lib/cms_scanner/references.rb', line 65 def osvdb_ids references[:osvdb] || [] end |
#osvdb_url(id) ⇒ String
Returns The URL to the ExploitDB advisory.
75 76 77 |
# File 'lib/cms_scanner/references.rb', line 75 def osvdb_url(id) "http://osvdb.org/show/osvdb/#{id}" end |
#osvdb_urls ⇒ Array<String>
70 71 72 |
# File 'lib/cms_scanner/references.rb', line 70 def osvdb_urls osvdb_ids.reduce([]) { |a, e| a << osvdb_url(e) } end |
#packetstorm_ids ⇒ Array<String>
Returns The Packetstormsecurity IDs.
115 116 117 |
# File 'lib/cms_scanner/references.rb', line 115 def packetstorm_ids @packetstorm_ids ||= references[:packetstorm] || [] end |
#packetstorm_url(id) ⇒ String
125 126 127 |
# File 'lib/cms_scanner/references.rb', line 125 def packetstorm_url(id) "http://packetstormsecurity.com/files/#{id}/" end |
#packetstorm_urls ⇒ Array<String>
120 121 122 |
# File 'lib/cms_scanner/references.rb', line 120 def packetstorm_urls packetstorm_ids.reduce([]) { |a, e| a << packetstorm_url(e) } end |
#references ⇒ Hash
24 25 26 |
# File 'lib/cms_scanner/references.rb', line 24 def references @references ||= {} end |
#references=(refs) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/cms_scanner/references.rb', line 15 def references=(refs) @references = {} self.class.references_keys.each do |key| @references[key] = [*refs[key]].map(&:to_s) if refs.key?(key) end end |
#references_urls ⇒ Array<String>
Returns All the references URLs.
29 30 31 32 |
# File 'lib/cms_scanner/references.rb', line 29 def references_urls cve_urls + secunia_urls + osvdb_urls + exploitdb_urls + urls + msf_urls + packetstorm_urls + securityfocus_urls end |
#secunia_ids ⇒ Array<String>
Returns The Secunia IDs.
50 51 52 |
# File 'lib/cms_scanner/references.rb', line 50 def secunia_ids references[:secunia] || [] end |
#secunia_url(id) ⇒ String
Returns The URL to the Secunia advisory.
60 61 62 |
# File 'lib/cms_scanner/references.rb', line 60 def secunia_url(id) "https://secunia.com/advisories/#{id}/" end |
#secunia_urls ⇒ Array<String>
55 56 57 |
# File 'lib/cms_scanner/references.rb', line 55 def secunia_urls secunia_ids.reduce([]) { |a, e| a << secunia_url(e) } end |
#securityfocus_ids ⇒ Array<String>
Returns The Security Focus IDs.
130 131 132 |
# File 'lib/cms_scanner/references.rb', line 130 def securityfocus_ids references[:securityfocus] || [] end |
#securityfocus_url(id) ⇒ String
140 141 142 |
# File 'lib/cms_scanner/references.rb', line 140 def securityfocus_url(id) "http://www.securityfocus.com/bid/#{id}/" end |
#securityfocus_urls ⇒ Array<String>
135 136 137 |
# File 'lib/cms_scanner/references.rb', line 135 def securityfocus_urls securityfocus_ids.reduce([]) { |a, e| a << securityfocus_url(e) } end |
#urls ⇒ String<Array>
95 96 97 |
# File 'lib/cms_scanner/references.rb', line 95 def urls references[:url] || [] end |