diff --git a/doc/Browser.html b/doc/Browser.html index 05663b73..fa094476 100644 --- a/doc/Browser.html +++ b/doc/Browser.html @@ -81,8 +81,6 @@
-# File lib/browser.rb, line 58 +# File lib/browser.rb, line 57 def self.instance(options = {}) unless @@instance @@instance = new(options) @@ -330,7 +328,7 @@-# File lib/browser.rb, line 65 +# File lib/browser.rb, line 64 def self.reset @@instance = nil end@@ -369,10 +367,10 @@-# File lib/browser.rb, line 141 +# File lib/browser.rb, line 140 def forge_request(url, params = {}) Typhoeus::Request.new( - replace_variables_in_url(url), + url.to_s, merge_request_params(params) ) end@@ -405,7 +403,7 @@-# File lib/browser.rb, line 129 +# File lib/browser.rb, line 128 def get(url, params = {}) run_request( forge_request(url, params.merge(:method => :get)) @@ -443,7 +441,7 @@ browser object, hydra will not have the new @max_threads and-# File lib/browser.rb, line 102 +# File lib/browser.rb, line 101 def load_config(config_file = nil) @config_file = config_file || @config_file @@ -484,7 +482,7 @@ browser object, hydra will not have the new @max_threads and-# File lib/browser.rb, line 94 +# File lib/browser.rb, line 93 def max_threads=(max_threads) if max_threads.nil? or max_threads <= 0 max_threads = 1 @@ -520,7 +518,7 @@ browser object, hydra will not have the new @max_threads and-# File lib/browser.rb, line 159 +# File lib/browser.rb, line 147 def merge_request_params(params = {}) if @proxy params = params.merge(:proxy => @proxy) @@ -576,7 +574,7 @@ browser object, hydra will not have the new @max_threads and-# File lib/browser.rb, line 135 +# File lib/browser.rb, line 134 def post(url, params = {}) run_request( forge_request(url, params.merge(:method => :post)) @@ -611,7 +609,7 @@ browser object, hydra will not have the new @max_threads anddiff --git a/doc/WpEnumerator.html b/doc/WpEnumerator.html index 5a12e907..c19d7a48 100644 --- a/doc/WpEnumerator.html +++ b/doc/WpEnumerator.html @@ -213,7 +213,7 @@diff --git a/doc/WpDetector.html b/doc/WpDetector.html index d7f07f8b..73e48aa8 100644 --- a/doc/WpDetector.html +++ b/doc/WpDetector.html @@ -231,7 +231,7 @@ WpOptions.check_options(options) result = items - unless items == nil or items.length == 0 + if items == nil or items.length == 0 result = passive_detection(options[:url], options[:type], options[:wp_content_dir]) end @@ -240,7 +240,7 @@ already_present = false result.each do |r| # Already found via passive detection - if r.name == enum_result.name + if r[:name] == enum_result[:name] already_present = true break end @@ -298,7 +298,12 @@ names.uniq! names.each do |item| - items << { :url => url, :name => item, :path => "#{type}/#{item}" } + items << { + :url => url, + :name => item, + :path => "#{type}/#{item}/", + :wp_content_dir => wp_content_dir + } end items end-# File lib/browser.rb, line 82 +# File lib/browser.rb, line 81 def user_agent case @user_agent_mode when "semi-static" @@ -652,7 +650,7 @@ browser object, hydra will not have the new @max_threads and--# File lib/browser.rb, line 69 +# File lib/browser.rb, line 68 def user_agent_mode=(ua_mode) ua_mode ||= "static" @@ -676,50 +674,6 @@ browser object, hydra will not have the new @max_threads and--Protected Instance Methods
- - -- - - -- - -- replace_variables_in_url(url) - click to toggle source -- - -- -- - - - -return string
- - - --- --# File lib/browser.rb, line 149 -def replace_variables_in_url(url) - @variables_to_replace_in_url ||= {} - - @variables_to_replace_in_url.each do |subject, replacement| - url.gsub!(subject, replacement) - end - url -end-enumerate(options = {}) + class="method-args">(options = {}, items = nil) click to toggle source@@ -247,12 +247,18 @@# File lib/wpscan/wp_enumerator.rb, line 33 -def self.enumerate(options = {}) +def self.enumerate(options = {}, items = nil) WpOptions.check_options(options) targets = self.generate_items(options) + unless items == nil + items.each do |i| + targets << i + end + end + found = [] queue_count = 0 request_count = 0 @@ -261,7 +267,11 @@ enumerate_size = targets.size targets.each do |target| - url = target.get_url + if options[:type] =~ /timthumbs/ + url = "#{target[:url]}#{target[:wp_content_dir]}/#{target[:path]}" + else + url = "#{target[:url]}#{target[:wp_content_dir]}/#{options[:type]}/#{target[:path]}" + end request = enum_browser.forge_request(url, :cache_timeout => 0, :follow_location => true) request_count += 1 diff --git a/doc/WpItem.html b/doc/WpItem.html index fbc54d34..b2259a13 100644 --- a/doc/WpItem.html +++ b/doc/WpItem.html @@ -61,6 +61,8 @@#== +#changelog_url +#directory_listing? #extract_name_from_url @@ -69,8 +71,14 @@#get_url_without_filename +#has_changelog? + +#has_readme? +#location_uri_from_file_url +#readme_url +#to_s #version @@ -290,7 +298,7 @@-# File lib/wpscan/modules/wp_item.rb, line 59 +# File lib/wpscan/modules/wp_item.rb, line 64 def <=>(item) item.name <=> @name end@@ -323,7 +331,7 @@+-# File lib/wpscan/modules/wp_item.rb, line 55 +# File lib/wpscan/modules/wp_item.rb, line 60 def ==(item) item.name == @name end@@ -337,6 +345,39 @@+ + + ++ ++ changelog_url() + click to toggle source ++ + ++ + + + + ++ + + + +++ ++# File lib/wpscan/modules/wp_item.rb, line 80 +def changelog_url + get_url_without_filename.merge("changelog.txt") +end+@@ -356,7 +397,7 @@+-# File lib/wpscan/modules/wp_item.rb, line 41 +# File lib/wpscan/modules/wp_item.rb, line 46 def directory_listing? # Need to remove to file part from the url Browser.instance.get(location_uri_from_file_url(get_url.to_s)).body[%{<title>Index of}] ? true : false @@ -390,7 +431,7 @@@@ -471,6 +517,80 @@-# File lib/wpscan/modules/wp_item.rb, line 46 +# File lib/wpscan/modules/wp_item.rb, line 51 def extract_name_from_url(url) url.to_s[%{^(https?://.*/([^/]+)/)}, 2] end@@ -458,8 +499,13 @@# File lib/wpscan/modules/wp_item.rb, line 27 def get_url_without_filename - uri = get_url - URI.parse("#{uri.scheme}://#{uri.host}#{File.dirname(uri.path)}") + matches = @path.match(%{^(.*/).*$}) + if matches == nil or matches.length < 2 + dirname = @path + else + dirname = matches[1] + end + URI.parse("#{@url.to_s}#@wp_content_dir/#{dirname}") end+ + + ++ + ++ has_changelog?() + click to toggle source ++ + ++ + + + + ++ + + + +++ ++# File lib/wpscan/modules/wp_item.rb, line 92 +def has_changelog? + unless @changelog + status = Browser.instance.get(changelog_url).code + @changelog = status == 200 ? true : false + end + @changelog +end++ + + ++ ++ has_readme?() + click to toggle source ++ + ++ + + + + ++ + + + +++ ++# File lib/wpscan/modules/wp_item.rb, line 84 +def has_readme? + unless @readme + status = Browser.instance.get(readme_url).code + @readme = status == 200 ? true : false + end + @readme +end+@@ -490,7 +610,7 @@+-# File lib/wpscan/modules/wp_item.rb, line 63 +# File lib/wpscan/modules/wp_item.rb, line 68 def location_uri_from_file_url(location_url) valid_location_url = location_url[%{^(https?://.*/)[^.]+\.[^/]+$}, 1] unless valid_location_url @@ -508,6 +628,39 @@+ + + ++ ++ readme_url() + click to toggle source ++ + ++ + + + + ++ + + + +++ ++# File lib/wpscan/modules/wp_item.rb, line 76 +def readme_url + get_url_without_filename.merge("readme.txt") +end+@@ -527,10 +680,10 @@@@ -201,45 +197,6 @@ -@@ -561,7 +714,7 @@-# File lib/wpscan/modules/wp_item.rb, line 50 +# File lib/wpscan/modules/wp_item.rb, line 55 def to_s item_version = version - "#@name#{' v' + item_version if item_version}" + "#@name#{' v' + item_version.strip if item_version}" end@@ -267,7 +276,7 @@ plugins can be found in the source code :-# File lib/wpscan/modules/wp_item.rb, line 32 +# File lib/wpscan/modules/wp_item.rb, line 37 def version unless @version response = Browser.instance.get(get_url.merge("readme.txt").to_s) diff --git a/doc/WpOptions.html b/doc/WpOptions.html index b39660b8..2334d301 100644 --- a/doc/WpOptions.html +++ b/doc/WpOptions.html @@ -264,7 +264,7 @@ 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/ or options[:type] =~ /themes/ + unless options[:type] =~ /plugins/ or options[:type] =~ /themes/ or options[:type] =~ /timthumbs/ raise("Unknown type #{options[:type]}") end enddiff --git a/doc/WpPlugins.html b/doc/WpPlugins.html index c4d96623..7d862f5b 100644 --- a/doc/WpPlugins.html +++ b/doc/WpPlugins.html @@ -227,8 +227,17 @@ options[:vulns_xpath] = "//plugin[@name='#{@name}']/vulnerability" options[:vulns_xpath_2] = "//plugin" options[:type] = "plugins" - result = WpDetector.aggressive_detection(options) - result.sort_by { |p| p.name } + result = WpDetector.aggressive_detection(options) + plugins = [] + result.each do |r| + plugins << WpPlugin.new( + :url => r[:url], + :path => r[:path], + :wp_content_dir => r[:wp_content_dir], + :name => r[:name] + ) + end + plugins.sort_by { |p| p.name } enddiff --git a/doc/WpTimthumbs.html b/doc/WpTimthumbs.html index 05b5d1b6..63071a0b 100644 --- a/doc/WpTimthumbs.html +++ b/doc/WpTimthumbs.html @@ -57,16 +57,12 @@-# File lib/wpscan/modules/wp_plugins.rb, line 40 +# File lib/wpscan/modules/wp_plugins.rb, line 49 def plugins_from_passive_detection(wp_content_dir) plugins = [] temp = WpDetector.passive_detection(url(), "plugins", wp_content_dir) diff --git a/doc/WpTarget.html b/doc/WpTarget.html index a9013d20..4a570428 100644 --- a/doc/WpTarget.html +++ b/doc/WpTarget.html @@ -628,7 +628,7 @@# File lib/wpscan/wp_target.rb, line 86 def version - WpVersion.find(@uri) + WpVersion.find(@uri, wp_content_dir) endMethods
--Public Class Methods
- - - - - -Public Instance Methods
@@ -250,7 +207,7 @@has_timthumbs?(options = {}) + class="method-args">(theme_name, options = {}) click to toggle source@@ -264,8 +221,8 @@@@ -283,61 +240,36 @@# File lib/wpscan/modules/wp_timthumbs.rb, line 24 -def has_timthumbs?(options = {}) - !timthumbs(options).empty? +def has_timthumbs?(theme_name, options = {}) + !timthumbs(theme_name, options).empty? endtimthumbs(options = {}) + class="method-args">(theme_name = nil, options = {}) click to toggle source-Available options :
- -:theme_name -:timthumbs_file -:show_progress_bar - default false- -return array of string (url of timthumbs found), can be empty
+--# File lib/wpscan/modules/wp_timthumbs.rb, line 34 -def timthumbs(options = {}) +# File lib/wpscan/modules/wp_timthumbs.rb, line 28 +def timthumbs(theme_name = nil, options = {}) if @wp_timthumbs.nil? - browser = Browser.instance - hydra = browser.hydra - found_timthumbs = [] - request_count = 0 - queue_count = 0 - targets_url = timthumbs_targets_url(options) - show_progress_bar = options[:show_progress_bar] || false + options[:type] = "timthumbs" + options[:only_vulnerable_ones] = false + options[:file] = DATA_DIR + "/timthumbs.txt" + options[:vulns_file] = "xxx" + options[:vulns_xpath] = "xxx" + options[:vulns_xpath_2] = "xxx" - targets_url.each do |target_url| - request = browser.forge_request(target_url, :cache_timeout => 0) - request_count += 1 - - request.on_complete do |response| - - print "\rChecking for " + targets_url.size.to_s + " total timthumb files... #{(request_count * 100) / targets_url.size}% complete." if show_progress_bar - - if response.body =~ /no image specified/ - found_timthumbs << target_url - end - end - - hydra.queue(request) - queue_count += 1 - - if queue_count == browser.max_threads - hydra.run - queue_count = 0 - end + WpOptions.check_options(options) + if theme_name == nil + custom_items = nil + else + custom_items = targets_url_from_theme(theme_name, options) end - - hydra.run - - @wp_timthumbs = found_timthumbs + @wp_timthumbs = WpEnumerator.enumerate(options, custom_items) end @wp_timthumbs end@@ -351,50 +283,6 @@- - - -- -- timthumbs_targets_url(options = {}) - click to toggle source -- - -- -- - - - -Available options :
- -:theme_name -:timthumbs_file- -retrun array of string
- - - --- --# File lib/wpscan/modules/wp_timthumbs.rb, line 78 -def timthumbs_targets_url(options = {}) - targets = options[:theme_name] ? targets_url_from_theme(options[:theme_name]) : [] - timthumbs_file = WpTimthumbs.timthumbs_file(options[:timthumbs_file]) - targets += File.open(timthumbs_file, 'r') {|file| file.readlines.collect{|line| @uri.merge(line.chomp).to_s}} - - targets.uniq! - # randomize the array to *maybe* help in some crappy IDS/IPS/WAF evasion - targets.sort_by! { rand } -end-@@ -407,7 +295,7 @@targets_url_from_theme(theme_name) + class="method-args">(theme_name, options) click to toggle source@@ -420,8 +308,8 @@-# File lib/wpscan/modules/wp_timthumbs.rb, line 93 -def targets_url_from_theme(theme_name) +# File lib/wpscan/modules/wp_timthumbs.rb, line 49 +def targets_url_from_theme(theme_name, options) targets = [] theme_name = URI.escape(theme_name) @@ -429,7 +317,12 @@ 'timthumb.php', 'lib/timthumb.php', 'inc/timthumb.php', 'includes/timthumb.php', 'scripts/timthumb.php', 'tools/timthumb.php', 'functions/timthumb.php' ].each do |file| - targets << @uri.merge("wp-content/themes/#{theme_name}/#{file}").to_s + targets << { + :url => options[:url], + :path => "themes/#{theme_name}/#{file}", + :wp_content_dir => options[:wp_content_dir], + :name => options[:name] + } end targets enddiff --git a/doc/WpVersion.html b/doc/WpVersion.html index d1dc0fb7..c0e2275b 100644 --- a/doc/WpVersion.html +++ b/doc/WpVersion.html @@ -262,7 +262,7 @@find(target_uri) + class="method-args">(target_uri, wp_content_dir) click to toggle source@@ -287,9 +287,13 @@ etc)# File lib/wpscan/wp_version.rb, line 39 -def self.find(target_uri) +def self.find(target_uri, wp_content_dir) + options = { + :url => target_uri, + :wp_content_dir => wp_content_dir + } self.methods.grep(/find_from_/).each do |method_to_call| - version = self.send(method_to_call, target_uri) + version = self.send(method_to_call, options) if version return new(version, :discovery_method => method_to_call[%{find_from_(.*)}, 1].gsub('_', ' ')) @@ -355,7 +359,7 @@ etc)find_from_advanced_fingerprinting(target_uri) + class="method-args">(options) click to toggle source@@ -383,14 +387,18 @@ file across all versions of wordpress.-# File lib/wpscan/wp_version.rb, line 88 -def self.find_from_advanced_fingerprinting(target_uri) +# File lib/wpscan/wp_version.rb, line 94 +def self.find_from_advanced_fingerprinting(options) + target_uri = options[:url] xml = Nokogiri::XML(File.open(DATA_DIR + '/wp_versions.xml')) do |config| config.noblanks end xml.xpath("//file").each do |node| + wp_content = options[:wp_content_dir] + wp_plugins = "#{wp_content}/plugins" file_url = target_uri.merge(node.attribute('src').text).to_s + file_url = file_url.gsub(/\$wp-plugins\$/, wp_plugins).gsub(/\$wp-content\$/, wp_content) response = Browser.instance.get(file_url) md5sum = Digest::MD5.hexdigest(response.body) @@ -418,7 +426,7 @@ file across all versions of wordpress.find_from_meta_generator(target_uri) + class="method-args">(options) click to toggle source@@ -435,8 +443,9 @@ upgrade.-# File lib/wpscan/wp_version.rb, line 57 -def self.find_from_meta_generator(target_uri) +# File lib/wpscan/wp_version.rb, line 61 +def self.find_from_meta_generator(options) + target_uri = options[:url] response = Browser.instance.get(target_uri.to_s, :follow_location => true, :max_redirects => 2) response.body[%{name="generator" content="wordpress ([^"]+)"}, 1] @@ -457,7 +466,7 @@ upgrade.find_from_readme(target_uri) + class="method-args">(options) click to toggle source@@ -470,8 +479,9 @@ upgrade.@@ -490,7 +500,7 @@ upgrade.-# File lib/wpscan/wp_version.rb, line 107 -def self.find_from_readme(target_uri) +# File lib/wpscan/wp_version.rb, line 117 +def self.find_from_readme(options) + target_uri = options[:url] Browser.instance.get(target_uri.merge("readme.html").to_s).body[%{<br />\sversion #{WpVersion.version_pattern}}, 1] endfind_from_rss_generator(target_uri) + class="method-args">(options) click to toggle source@@ -503,8 +513,9 @@ upgrade.-# File lib/wpscan/wp_version.rb, line 63 -def self.find_from_rss_generator(target_uri) +# File lib/wpscan/wp_version.rb, line 68 +def self.find_from_rss_generator(options) + target_uri = options[:url] response = Browser.instance.get(target_uri.merge("feed/").to_s, :follow_location => true, :max_redirects => 2) response.body[%{<generator>http://wordpress.org/\?v=([^<]+)</generator>}, 1] @@ -525,7 +536,7 @@ upgrade.find_from_sitemap_generator(target_uri) + class="method-args">(options) click to toggle source@@ -539,8 +550,9 @@ href="http://code.google.com/p/wpscan/issues/detail?id=109">code.google.com/p/wp@@ -573,7 +585,7 @@ one ‘.’-# File lib/wpscan/wp_version.rb, line 112 -def self.find_from_sitemap_generator(target_uri) +# File lib/wpscan/wp_version.rb, line 123 +def self.find_from_sitemap_generator(options) + target_uri = options[:url] Browser.instance.get(target_uri.merge("sitemap.xml").to_s).body[%{generator="wordpress/#{WpVersion.version_pattern}"}, 1] end-# File lib/wpscan/wp_version.rb, line 117 +# File lib/wpscan/wp_version.rb, line 129 def self.version_pattern '(.*(?=.)(?=.*\d)(?=.*[.]).*)' enddiff --git a/doc/created.rid b/doc/created.rid index b5ddb543..9e28689b 100644 --- a/doc/created.rid +++ b/doc/created.rid @@ -1,6 +1,6 @@ -Sun, 16 Sep 2012 10:27:57 +0200 +Sun, 16 Sep 2012 23:51:12 +0200 ./CREDITS Thu, 13 Sep 2012 22:54:08 +0200 -./lib/browser.rb Sat, 15 Sep 2012 08:03:56 +0200 +./lib/browser.rb Sun, 16 Sep 2012 15:18:58 +0200 ./lib/cache_file_store.rb Sat, 15 Sep 2012 08:04:03 +0200 ./lib/common_helper.rb Sat, 15 Sep 2012 08:04:08 +0200 ./lib/environment.rb Sat, 15 Sep 2012 08:04:16 +0200 @@ -14,22 +14,22 @@ Sun, 16 Sep 2012 10:27:57 +0200 ./lib/wpscan/modules/web_site.rb Sat, 15 Sep 2012 08:01:06 +0200 ./lib/wpscan/modules/wp_config_backup.rb Sat, 15 Sep 2012 08:01:11 +0200 ./lib/wpscan/modules/wp_full_path_disclosure.rb Sat, 15 Sep 2012 08:01:17 +0200 -./lib/wpscan/modules/wp_item.rb Sun, 16 Sep 2012 10:26:21 +0200 +./lib/wpscan/modules/wp_item.rb Sun, 16 Sep 2012 16:42:37 +0200 ./lib/wpscan/modules/wp_login_protection.rb Sun, 16 Sep 2012 10:26:51 +0200 -./lib/wpscan/modules/wp_plugins.rb Sun, 16 Sep 2012 10:27:05 +0200 +./lib/wpscan/modules/wp_plugins.rb Sun, 16 Sep 2012 12:02:47 +0200 ./lib/wpscan/modules/wp_readme.rb Sat, 15 Sep 2012 08:01:52 +0200 -./lib/wpscan/modules/wp_themes.rb Sun, 16 Sep 2012 10:27:17 +0200 -./lib/wpscan/modules/wp_timthumbs.rb Sat, 15 Sep 2012 08:01:58 +0200 +./lib/wpscan/modules/wp_themes.rb Sun, 16 Sep 2012 12:03:41 +0200 +./lib/wpscan/modules/wp_timthumbs.rb Sun, 16 Sep 2012 23:27:21 +0200 ./lib/wpscan/modules/wp_usernames.rb Sat, 15 Sep 2012 08:02:04 +0200 ./lib/wpscan/msfrpc_client.rb Sat, 15 Sep 2012 08:02:28 +0200 ./lib/wpscan/vulnerable.rb Sat, 15 Sep 2012 08:02:37 +0200 -./lib/wpscan/wp_detector.rb Sun, 16 Sep 2012 10:25:30 +0200 -./lib/wpscan/wp_enumerator.rb Sun, 16 Sep 2012 10:25:41 +0200 -./lib/wpscan/wp_options.rb Sat, 15 Sep 2012 23:15:59 +0200 +./lib/wpscan/wp_detector.rb Sun, 16 Sep 2012 12:45:39 +0200 +./lib/wpscan/wp_enumerator.rb Sun, 16 Sep 2012 23:22:48 +0200 +./lib/wpscan/wp_options.rb Sun, 16 Sep 2012 23:02:21 +0200 ./lib/wpscan/wp_plugin.rb Sun, 16 Sep 2012 10:27:39 +0200 -./lib/wpscan/wp_target.rb Sat, 15 Sep 2012 23:32:52 +0200 +./lib/wpscan/wp_target.rb Sun, 16 Sep 2012 23:48:55 +0200 ./lib/wpscan/wp_theme.rb Sun, 16 Sep 2012 10:27:45 +0200 -./lib/wpscan/wp_version.rb Sat, 15 Sep 2012 08:03:04 +0200 +./lib/wpscan/wp_version.rb Sun, 16 Sep 2012 23:48:18 +0200 ./lib/wpscan/wp_vulnerability.rb Sat, 15 Sep 2012 08:03:09 +0200 ./lib/wpscan/wpscan_helper.rb Sat, 15 Sep 2012 21:19:30 +0200 ./lib/wpscan/wpscan_options.rb Sun, 16 Sep 2012 10:10:51 +0200 @@ -37,5 +37,5 @@ Sun, 16 Sep 2012 10:27:57 +0200 ./lib/wpstools/parse_svn.rb Sat, 15 Sep 2012 23:36:25 +0200 ./lib/wpstools/wpstools_helper.rb Sat, 15 Sep 2012 08:03:49 +0200 ./README Thu, 13 Sep 2012 22:54:08 +0200 -./wpscan.rb Sun, 16 Sep 2012 10:23:36 +0200 +./wpscan.rb Sun, 16 Sep 2012 23:28:12 +0200 ./wpstools.rb Sat, 15 Sep 2012 08:06:35 +0200 diff --git a/doc/index.html b/doc/index.html index 3f5b6743..080997c6 100644 --- a/doc/index.html +++ b/doc/index.html @@ -125,10 +125,10 @@::enumerate — WpEnumerator -::find — WpTheme -::find — WpVersion +::find — WpTheme +::find_from_advanced_fingerprinting — WpVersion ::find_from_css_link — WpTheme @@ -161,38 +161,36 @@::malwares_file — Malwares +::new — Exploit + +::new — WpTarget + +::new — WpPlugin +::new — WpscanOptions +::new — WpVersion + +::new — CacheFileStore + +::new — Updater + +::new — Generate_List +::new — WpVulnerability ::new — RpcClient -::new — WpPlugin - -::new — CacheFileStore - -::new — WpVersion - -::new — Generate_List - -::new — Updater +::new — WpTheme ::new — Svn_Parser -::new — WpTarget - -::new — Exploit - -::new — WpTheme -::option_to_instance_variable_setter — WpscanOptions ::passive_detection — WpDetector ::reset — Browser -::timthumbs_file — WpTimthumbs -::valid_response_codes — WpTarget ::version_pattern — WpVersion @@ -221,6 +219,8 @@#brute_force — BruteForce +#changelog_url — WpItem +#choose_session — Exploit #clean — CacheFileStore @@ -285,6 +285,8 @@#has_bluetrait_event_viewer_protection? — WpLoginProtection +#has_changelog? — WpItem +#has_debug_log? — WpTarget #has_full_path_disclosure? — WpFullPathDisclosure @@ -305,6 +307,8 @@#has_readme? — WpReadme +#has_readme? — WpItem +#has_simple_login_lockdown_protection? — WpLoginProtection #has_timthumbs? — WpTimthumbs @@ -325,22 +329,22 @@#jobs — RpcClient -#kill_session — RpcClient -#kill_session — Exploit +#kill_session — RpcClient +#last_session_id — Exploit #limit_login_attempts_url — WpLoginProtection #load_config — Browser -#local_revision_number — SvnUpdater -#local_revision_number — GitUpdater #local_revision_number — Updater +#local_revision_number — SvnUpdater +#location_uri_from_file_url — WpItem #login — RpcClient @@ -361,10 +365,10 @@#meterpreter_read — Exploit -#meterpreter_write — Exploit -#meterpreter_write — RpcClient +#meterpreter_write — Exploit +#parse — Svn_Parser #plugins_from_aggressive_detection — WpPlugins @@ -379,15 +383,15 @@#read_entry — CacheFileStore -#read_shell — Exploit -#read_shell — RpcClient +#read_shell — Exploit +#readme_url — WpReadme -#redirection — WebSite +#readme_url — WpItem -#replace_variables_in_url — Browser +#redirection — WebSite #repo_directory_arguments — GitUpdater @@ -419,20 +423,18 @@#timthumbs — WpTimthumbs -#timthumbs_targets_url — WpTimthumbs -#to_h — WpscanOptions -#to_s — WpItem -#to_s — WpTheme +#to_s — WpItem +#update — Updater -#update — GitUpdater -#update — SvnUpdater +#update — GitUpdater +#url — WpTarget #url= — WpscanOptions @@ -459,10 +461,10 @@#write_entry — CacheFileStore -#write_shell — RpcClient -#write_shell — Exploit +#write_shell — RpcClient +#xmlrpc_url — WebSite diff --git a/doc/lib/browser_rb.html b/doc/lib/browser_rb.html index 90a9e372..16915803 100644 --- a/doc/lib/browser_rb.html +++ b/doc/lib/browser_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-15 08:03:56 +0200
+- 2012-09-16 15:18:58 +0200
- Requires
diff --git a/doc/lib/wpscan/modules/wp_item_rb.html b/doc/lib/wpscan/modules/wp_item_rb.html index 2a56eb3a..66b6f90f 100644 --- a/doc/lib/wpscan/modules/wp_item_rb.html +++ b/doc/lib/wpscan/modules/wp_item_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-16 10:26:21 +0200
+- 2012-09-16 16:42:37 +0200
- Requires
diff --git a/doc/lib/wpscan/modules/wp_plugins_rb.html b/doc/lib/wpscan/modules/wp_plugins_rb.html index e23e3f94..60035bc5 100644 --- a/doc/lib/wpscan/modules/wp_plugins_rb.html +++ b/doc/lib/wpscan/modules/wp_plugins_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-16 10:27:05 +0200
+- 2012-09-16 12:02:47 +0200
- Requires
diff --git a/doc/lib/wpscan/modules/wp_timthumbs_rb.html b/doc/lib/wpscan/modules/wp_timthumbs_rb.html index 54420ab4..4d0cfb92 100644 --- a/doc/lib/wpscan/modules/wp_timthumbs_rb.html +++ b/doc/lib/wpscan/modules/wp_timthumbs_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-15 08:01:58 +0200
+- 2012-09-16 23:27:21 +0200
- Requires
diff --git a/doc/lib/wpscan/wp_detector_rb.html b/doc/lib/wpscan/wp_detector_rb.html index f097cbb4..1dce5688 100644 --- a/doc/lib/wpscan/wp_detector_rb.html +++ b/doc/lib/wpscan/wp_detector_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-16 10:25:30 +0200
+- 2012-09-16 12:45:39 +0200
- Requires
diff --git a/doc/lib/wpscan/wp_enumerator_rb.html b/doc/lib/wpscan/wp_enumerator_rb.html index 667412ec..5daebfde 100644 --- a/doc/lib/wpscan/wp_enumerator_rb.html +++ b/doc/lib/wpscan/wp_enumerator_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-16 10:25:41 +0200
+- 2012-09-16 23:22:48 +0200
- Requires
diff --git a/doc/lib/wpscan/wp_options_rb.html b/doc/lib/wpscan/wp_options_rb.html index b50798b1..a3c06ace 100644 --- a/doc/lib/wpscan/wp_options_rb.html +++ b/doc/lib/wpscan/wp_options_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-15 23:15:59 +0200
+- 2012-09-16 23:02:21 +0200
- Requires
diff --git a/doc/lib/wpscan/wp_target_rb.html b/doc/lib/wpscan/wp_target_rb.html index 9c10cb8d..a97fc655 100644 --- a/doc/lib/wpscan/wp_target_rb.html +++ b/doc/lib/wpscan/wp_target_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-15 23:32:52 +0200
+- 2012-09-16 23:48:55 +0200
- Requires
diff --git a/doc/lib/wpscan/wp_version_rb.html b/doc/lib/wpscan/wp_version_rb.html index 6784d5c4..ba7efd34 100644 --- a/doc/lib/wpscan/wp_version_rb.html +++ b/doc/lib/wpscan/wp_version_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-15 08:03:04 +0200
+- 2012-09-16 23:48:18 +0200
- Requires
diff --git a/doc/wpscan_rb.html b/doc/wpscan_rb.html index 0e961134..1b22799c 100644 --- a/doc/wpscan_rb.html +++ b/doc/wpscan_rb.html @@ -24,7 +24,7 @@
- Last Modified
-- 2012-09-16 10:23:36 +0200
+- 2012-09-16 23:28:12 +0200
- Requires