dEEpEst Posted February 7, 2018 Share Posted February 7, 2018 [HIDE-THANKS][LANGUAGE=ruby]#!/usr/bin/env ruby # gem install typhoeus # gem install nokogiri require 'typhoeus' require 'nokogiri' nist_url = 'https://web.nvd.nist.gov/view/vuln/detail?vulnId=' cve_hash = {} cve_output = '' cves = File.open('cves.txt').read cves.gsub!(/\r\n?/, "\n") # normalize EOL chars cves.split("\n").each do |cve| puts "Getting CVSS for #{cve}..." doc = Nokogiri::HTML(Typhoeus.get("#{nist_url}#{cve}").b ody) cvss_links = doc.css('#BodyPlaceHolder_cplPageContent_plcZones_ lt_zoneCenter_VulnerabilityDetail_VulnFormView_Vul nCvssPanel .row a') cve_hash[cve] = cvss_links[0].text end puts puts cve_hash = Hash[cve_hash.sort_by{|k, v| v}.reverse] cve_hash.each_pair do |cve, score| cve_output end puts cve_output[/LANGUAGE][/HIDE-THANKS] Link to comment Share on other sites More sharing options...
Recommended Posts