Nokogiri::XML hack to set the default option to NOBLANKS

This commit is contained in:
erwanlr
2013-03-11 17:18:05 +01:00
parent eaffb139ef
commit 2043adb76e
5 changed files with 13 additions and 33 deletions

View File

@@ -23,12 +23,9 @@ class Vulnerable
# @return an array of WpVulnerability (can be empty)
def vulnerabilities
xml = Nokogiri::XML(File.open(@vulns_file))
vulnerabilities = []
xml = Nokogiri::XML(File.open(@vulns_file)) do |config|
config.noblanks
end
xml.xpath(@vulns_xpath).each do |node|
vulnerabilities << WpVulnerability.new(
node.search('title').text,

View File

@@ -121,9 +121,7 @@ class WpEnumerator
# Timthumbs have no XML file
unless type =~ /timthumbs/i
xml = Nokogiri::XML(File.open(vulns_file)) do |config|
config.noblanks
end
xml = Nokogiri::XML(File.open(vulns_file))
# We check if the plugin name from the plugin_vulns_file is already in targets, otherwise we add it
xml.xpath(options[:vulns_xpath_2]).each do |node|

View File

@@ -146,10 +146,7 @@ class WpVersion < Vulnerable
version_xml = options[:version_xml] || WP_VERSIONS_FILE # needed for rpsec
wp_content = options[:wp_content_dir]
wp_plugins = "#{wp_content}/plugins"
xml = Nokogiri::XML(File.open(version_xml)) do |config|
config.noblanks
end
xml = Nokogiri::XML(File.open(version_xml))
xml.xpath('//file').each do |node|
file_src = node.attribute('src').text

View File

@@ -46,9 +46,7 @@ class CheckerPlugin < Plugin
puts '[+] Checking vulnerabilities reference urls'
vuln_ref_files.each do |vuln_ref_file|
xml = Nokogiri::XML(File.open(vuln_ref_file)) do |config|
config.noblanks
end
xml = Nokogiri::XML(File.open(vuln_ref_file))
urls = []
xml.xpath('//reference').each { |node| urls << node.text }
@@ -113,9 +111,7 @@ class CheckerPlugin < Plugin
puts '[+] Checking for vulnerable files ...'
xml = Nokogiri::XML(File.open(xml_file)) do |config|
config.noblanks
end
xml = Nokogiri::XML(File.open(xml_file))
xml.xpath('//hash').each do |node|
sha1sum = node.attribute('sha1').text

View File

@@ -44,32 +44,24 @@ class StatsPlugin < Plugin
end
end
def xml(file)
Nokogiri::XML(File.open(file))
end
def vuln_plugin_count(file=PLUGINS_VULNS_FILE)
xml = Nokogiri::XML(File.open(file)) do |config|
config.noblanks
end
xml.xpath("count(//plugin)").to_i
self.xml(file).xpath("count(//plugin)").to_i
end
def vuln_theme_count(file=THEMES_VULNS_FILE)
xml = Nokogiri::XML(File.open(file)) do |config|
config.noblanks
end
xml.xpath("count(//theme)").to_i
self.xml(file).xpath("count(//theme)").to_i
end
def plugin_vulns_count(file=PLUGINS_VULNS_FILE)
xml = Nokogiri::XML(File.open(file)) do |config|
config.noblanks
end
xml.xpath("count(//vulnerability)").to_i
self.xml(file).xpath("count(//vulnerability)").to_i
end
def theme_vulns_count(file=THEMES_VULNS_FILE)
xml = Nokogiri::XML(File.open(file)) do |config|
config.noblanks
end
xml.xpath("count(//vulnerability)").to_i
self.xml(file).xpath("count(//vulnerability)").to_i
end
def total_plugins(file=PLUGINS_FULL_FILE, xml=PLUGINS_VULNS_FILE)