bugfixing

This commit is contained in:
Christian Mehlmauer
2012-09-15 22:20:22 +02:00
parent 81d40e58f6
commit a2412a4665
5 changed files with 26 additions and 19 deletions

View File

@@ -79,7 +79,7 @@ class WpEnumerator
plugins_file = options[:file] || "#{DATA_DIR}/plugins.txt"
plugin_vulns_file = options[:vulns_file] || "#{DATA_DIR}/plugin_vulns.xml"
wp_content_dir = options[:wp_content_dir]
url = options[:base_url]
url = options[:url]
type = options[:type]
targets_url = []
@@ -87,7 +87,7 @@ class WpEnumerator
# Open and parse the 'most popular' plugin list...
File.open(plugins_file, 'r') do |file|
file.readlines.collect do |line|
targets_url << WpPlugin.new(:base_url => url, :path => line.strip, :wp_content_dir => wp_content_dir)
targets_url << WpPlugin.new(:url => url, :path => line.strip, :wp_content_dir => wp_content_dir)
end
end
end
@@ -102,7 +102,7 @@ class WpEnumerator
if targets_url.grep(%r{/#{plugin_name}/}).empty?
targets_url << WpPlugin.new(
:base_url => url,
:url => url,
:path => "#{type}/#{plugin_name}",
:wp_content_dir => wp_content_dir,
:name => plugin_name

View File

@@ -33,7 +33,7 @@ class WpOptions
def self.get_empty_options
options = {
:url => "",
:only_vulnerable_ones => true,
:only_vulnerable_ones => false,
:file => "",
:vulns_file => "",
:vulns_xpath => "",
@@ -46,15 +46,15 @@ class WpOptions
end
def self.check_options(options)
raise("url must be set") unless options[:url]
raise("only_vulnerable_ones must be set") unless options[:only_vulnerable_ones]
raise("file must be set") unless options[:file]
raise("vulns_file must be set") unless options[:vulns_file]
raise("vulns_xpath must be set") unless options[:vulns_xpath]
raise("wp_content_dir must be set") unless options[:wp_content_dir]
raise("show_progress_bar must be set") unless options[:show_progress_bar]
raise("error_404_hash must be set") unless options[:error_404_hash]
raise("type must be set") unless options[:type]
raise("url must be set") unless options[:url] != nil and options[:url].to_s.length > 0
raise("only_vulnerable_ones must be set") unless options[:only_vulnerable_ones] != nil
raise("file must be set") unless options[:file] != nil and options[:file].length > 0
raise("vulns_file must be set") unless options[:vulns_file] != nil and options[:vulns_file].length > 0
raise("vulns_xpath must be set") unless options[:vulns_xpath] != nil and options[:vulns_xpath].length > 0
raise("wp_content_dir must be set") unless options[:wp_content_dir] != nil and options[:wp_content_dir].length > 0
raise("show_progress_bar must be set") unless options[:show_progress_bar] != nil
raise("error_404_hash must be set") unless options[:error_404_hash] != nil and options[:error_404_hash].length > 0
raise("type must be set") unless options[:type] != nil and options[:type].length > 0
unless options[:type] =~ /plugins/i or options[:type] =~ /themes/i
raise("Unknown type #{options[:type]}")

View File

@@ -22,7 +22,7 @@ class WpPlugin < Vulnerable
include WpItem
def initialize(options = {})
@base_url = options[:base_url]
@base_url = options[:url]
@path = options[:path]
@wp_content_dir = options[:wp_content_dir]
@name = options[:name] || extract_name_from_url(get_url)

View File

@@ -45,7 +45,12 @@ class WpscanOptions
attr_accessor *ACCESSOR_OPTIONS
def initialize
@enumerate_plugins = false
@enumerate_themes = false
@enumerate_only_vulnerable_plugins = false
@enumerate_only_vulnerable_themes = false
@enumerate_timthumbs = false
@enumerate_usernames = false
end
def url=(url)