# File lib/wpscan/wpscan_helper.rb, line 59defhelpputs'Help :'puts
@@ -1096,7 +1096,7 @@
protection_plugin = wp_target.login_protection_plugin()
puts
- puts"The plugin #{protection_plugin.name} has been detected. It might record the IP and timestamp of every failed login. Not a good idea for brute forcing !"
+ puts"The plugin #{protection_plugin.name} has been detected. It might record the IP and timestamp of every failed login and/or prevent brute forcing altogether. Not a good idea for brute forcing !"puts'[?] Do you want to start the brute force anyway ? [y/n]'bruteforce = falseifReadline.readline!~/^y/
@@ -1356,6 +1356,9 @@
puts'-Update ...'puts"ruby #{script_name} --update"puts
+ puts'-Debug output ...'
+ puts"ruby #{script_name} --url www.example.com --debug-output 2>debug.log"
+ putsputs'See README for further information.'putsend
–help | -h This help screen. –Verbose | -v Verbose output. –update
diff --git a/doc_rdoc/README_md.html b/doc_rdoc/README_md.html
index 71a9cfc8..b5945928 100644
--- a/doc_rdoc/README_md.html
+++ b/doc_rdoc/README_md.html
@@ -490,6 +490,11 @@ If no option is supplied, the default is 'vt,tt,u,vp'
# File lib/common/version_compare.rb, line 11
+defself.is_newer_or_same?(version1, version2)
+ returntrueif (version1==version2)
+ # Both versions must be set
+ returnfalseunless (version1andversion2)
+ returnfalseif (version1.empty?orversion2.empty?)
+ begin
+ returntrueif (Gem::Version.new(version1) <Gem::Version.new(version2))
+ rescueArgumentError =>e
+ # Example: ArgumentError: Malformed version number string a
+ returnfalseife.message=~/Malformed version number string/
+ raise
+ end
+ returnfalse
+ end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc_rdoc/WpUser/BruteForcable.html b/doc_rdoc/WpUser/BruteForcable.html
index 770abbcd..e999d6ce 100644
--- a/doc_rdoc/WpUser/BruteForcable.html
+++ b/doc_rdoc/WpUser/BruteForcable.html
@@ -340,7 +340,7 @@ passwords if they start with a hash...
-
# File lib/common/models/wp_user/brute_forcable.rb, line 123
+
# File lib/common/models/wp_user/brute_forcable.rb, line 133defself.passwords_from_wordlist(wordlist)
ifwordlist.is_a?(String)
passwords = []
@@ -383,7 +383,7 @@ passwords if they start with a hash...
# File lib/wpscan/wpscan_options.rb, line 36definitializeACCESSOR_OPTIONS.eachdo|option|instance_variable_set("@#{option}", nil)
@@ -471,7 +473,7 @@ any remaining ‘-’ by ‘_’
-
# File lib/wpscan/wpscan_options.rb, line 246
+
# File lib/wpscan/wpscan_options.rb, line 252defself.clean_option(option)
cleaned_option = option.gsub(/^--?/, '')
cleaned_option.gsub(/-/, '_')
@@ -506,7 +508,7 @@ any remaining ‘-’ by ‘_’
-
# File lib/wpscan/wpscan_options.rb, line 215
+
# File lib/wpscan/wpscan_options.rb, line 220defself.get_opt_longGetoptLong.new(
['--url', '-u', GetoptLong::REQUIRED_ARGUMENT],
@@ -525,7 +527,8 @@ any remaining ‘-’ by ‘_’
['--wp-plugins-dir', GetoptLong::REQUIRED_ARGUMENT],
['--config-file', '-c', GetoptLong::REQUIRED_ARGUMENT],
['--exclude-content-based', GetoptLong::REQUIRED_ARGUMENT],
- ['--basic-auth', GetoptLong::REQUIRED_ARGUMENT]
+ ['--basic-auth', GetoptLong::REQUIRED_ARGUMENT],
+ ['--debug-output', GetoptLong::NO_ARGUMENT]
)
end
@@ -557,7 +560,7 @@ any remaining ‘-’ by ‘_’
-
# File lib/wpscan/wpscan_options.rb, line 237
+
# File lib/wpscan/wpscan_options.rb, line 243defself.is_long_option?(option)
ACCESSOR_OPTIONS.include?(:"#{WpscanOptions.clean_option(option)}")
end
@@ -590,7 +593,7 @@ any remaining ‘-’ by ‘_’
-
# File lib/wpscan/wpscan_options.rb, line 251
+
# File lib/wpscan/wpscan_options.rb, line 257defself.option_to_instance_variable_setter(option)
cleaned_option = WpscanOptions.clean_option(option)
option_syms = ACCESSOR_OPTIONS.grep(%r{^#{cleaned_option}$})
@@ -632,7 +635,7 @@ any remaining ‘-’ by ‘_’
-
# File lib/wpscan/wpscan_options.rb, line 123
+
# File lib/wpscan/wpscan_options.rb, line 124defbasic_auth=(basic_auth)
raise'Invalid basic authentication format, login:password expected'ifbasic_auth.index(':').nil?@basic_auth = "Basic #{Base64.encode64(basic_auth).chomp}"
@@ -647,6 +650,39 @@ any remaining ‘-’ by ‘_’
+
+
+
+ debug_output=(debug_output)
+
+ click to toggle source
+
+
# File lib/wpscan/wpscan_options.rb, line 92defenumerate_all_plugins=(enumerate_all_plugins)
ifenumerate_all_plugins===trueand (@enumerate_plugins===trueor@enumerate_only_vulnerable_plugins===true)
raise'Please choose only one plugin enumeration option'
@@ -703,7 +739,7 @@ any remaining ‘-’ by ‘_’
-
# File lib/wpscan/wpscan_options.rb, line 115
+
# File lib/wpscan/wpscan_options.rb, line 116defenumerate_all_themes=(enumerate_all_themes)
ifenumerate_all_themes===trueand (@enumerate_themes===trueor@enumerate_only_vulnerable_themes===true)
raise'Please choose only one theme enumeration option'
@@ -740,7 +776,7 @@ any remaining ‘-’ by ‘_’
-
# File lib/wpscan/wpscan_options.rb, line 83
+
# File lib/wpscan/wpscan_options.rb, line 84defenumerate_only_vulnerable_plugins=(enumerate_only_vulnerable_plugins)
ifenumerate_only_vulnerable_plugins===trueand (@enumerate_all_plugins===trueor@enumerate_plugins===true)
raise'Please choose only one plugin enumeration option'
@@ -777,7 +813,7 @@ any remaining ‘-’ by ‘_’
-
# File lib/wpscan/wpscan_options.rb, line 107
+
# File lib/wpscan/wpscan_options.rb, line 108defenumerate_only_vulnerable_themes=(enumerate_only_vulnerable_themes)
ifenumerate_only_vulnerable_themes===trueand (@enumerate_all_themes===trueor@enumerate_themes===true)
raise'Please choose only one theme enumeration option'
@@ -818,7 +854,7 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-
# File lib/wpscan/wpscan_options.rb, line 183
+
# File lib/wpscan/wpscan_options.rb, line 188defenumerate_options_from_string(value)
# Usage of self is mandatory because there are overridden setters
@@ -877,7 +913,7 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-
# File lib/wpscan/wpscan_options.rb, line 75
+
# File lib/wpscan/wpscan_options.rb, line 76defenumerate_plugins=(enumerate_plugins)
ifenumerate_plugins===trueand (@enumerate_all_plugins===trueor@enumerate_only_vulnerable_plugins===true)
raise'Please choose only one plugin enumeration option'
@@ -914,7 +950,7 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-
# File lib/wpscan/wpscan_options.rb, line 99
+
# File lib/wpscan/wpscan_options.rb, line 100defenumerate_themes=(enumerate_themes)
ifenumerate_themes===trueand (@enumerate_all_themes===trueor@enumerate_only_vulnerable_themes===true)
raise'Please choose only one theme enumeration option'
@@ -951,7 +987,7 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-
# File lib/wpscan/wpscan_options.rb, line 128
+
# File lib/wpscan/wpscan_options.rb, line 133defhas_options?!to_h.empty?end
@@ -984,7 +1020,7 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-
# File lib/wpscan/wpscan_options.rb, line 59
+
# File lib/wpscan/wpscan_options.rb, line 60defproxy=(proxy)
ifproxy.index(':') ==nilraise'Invalid proxy format. Should be host:port.'
@@ -1021,7 +1057,7 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-
# File lib/wpscan/wpscan_options.rb, line 67
+
# File lib/wpscan/wpscan_options.rb, line 68defproxy_auth=(auth)
ifauth.index(':') ==nilraise'Invalid proxy auth format, username:password expected'
@@ -1059,7 +1095,7 @@ value
-
# File lib/wpscan/wpscan_options.rb, line 162
+
# File lib/wpscan/wpscan_options.rb, line 167defset_option_from_cli(cli_option, cli_value)
ifWpscanOptions.is_long_option?(cli_option)
@@ -1105,7 +1141,7 @@ value
-
# File lib/wpscan/wpscan_options.rb, line 47
+
# File lib/wpscan/wpscan_options.rb, line 48defthreads=(threads)
@threads = threads.is_a?(Integer) ?threads:threads.to_iend
@@ -1138,7 +1174,7 @@ value
-
# File lib/wpscan/wpscan_options.rb, line 133
+
# File lib/wpscan/wpscan_options.rb, line 138defto_hoptions = {}
@@ -1180,7 +1216,7 @@ value
-
# File lib/wpscan/wpscan_options.rb, line 41
+
# File lib/wpscan/wpscan_options.rb, line 42defurl=(url)
raise'Empty URL given'if!url
@@ -1215,7 +1251,7 @@ value
This tool generates a list to use for plugin and theme enumeration\n"],["GitUpdater","","GitUpdater.html","",""],["ListGeneratorPlugin","","ListGeneratorPlugin.html","",""],["Object","","Object.html","",""],["Plugin","","Plugin.html","",""],["Plugins","","Plugins.html","",""],["StatsPlugin","","StatsPlugin.html","",""],["SvnParser","","SvnParser.html","","
This Class Parses SVN Repositories via HTTP\n"],["SvnUpdater","","SvnUpdater.html","",""],["Terminal","","Terminal.html","",""],["Terminal::Table","","Terminal/Table.html","",""],["Terminal::Table::Style","","Terminal/Table/Style.html","",""],["Typhoeus","","Typhoeus.html","","
This is used in WpItem::Existable\n
Implementaion of a cache_key (Typhoeus::Request#hash has too many options)\n…\n"],["Typhoeus::Request","","Typhoeus/Request.html","",""],["Typhoeus::Request::Cacheable","","Typhoeus/Request/Cacheable.html","",""],["Typhoeus::Response","","Typhoeus/Response.html","",""],["TyphoeusCache","","TyphoeusCache.html","",""],["URI","","URI.html","",""],["Updater","","Updater.html","","
This class act as an absract one\n"],["UpdaterFactory","","UpdaterFactory.html","",""],["VersionCompare","","VersionCompare.html","",""],["Vulnerabilities","","Vulnerabilities.html","",""],["Vulnerabilities::Output","","Vulnerabilities/Output.html","",""],["Vulnerability","","Vulnerability.html","",""],["Vulnerability::Output","","Vulnerability/Output.html","",""],["WebSite","","WebSite.html","",""],["WpItem","","WpItem.html","",""],["WpItem::Existable","","WpItem/Existable.html","",""],["WpItem::Findable","","WpItem/Findable.html","",""],["WpItem::Infos","","WpItem/Infos.html","","
@uri is used instead of #uri to avoid the presence of the :path into it\n"],["WpItem::Output","","WpItem/Output.html","",""],["WpItem::Versionable","","WpItem/Versionable.html","",""],["WpItem::Vulnerable","","WpItem/Vulnerable.html","",""],["WpItems","","WpItems.html","",""],["WpItems::Detectable","","WpItems/Detectable.html","",""],["WpItems::Output","","WpItems/Output.html","",""],["WpPlugin","","WpPlugin.html","",""],["WpPlugin::Vulnerable","","WpPlugin/Vulnerable.html","",""],["WpPlugins","","WpPlugins.html","",""],["WpPlugins::Detectable","","WpPlugins/Detectable.html","",""],["WpTarget","","WpTarget.html","",""],["WpTarget::Malwares","","WpTarget/Malwares.html","",""],["WpTarget::WpConfigBackup","","WpTarget/WpConfigBackup.html","",""],["WpTarget::WpCustomDirectories","","WpTarget/WpCustomDirectories.html","",""],["WpTarget::WpFullPathDisclosure","","WpTarget/WpFullPathDisclosure.html","",""],["WpTarget::WpLoginProtection","","WpTarget/WpLoginProtection.html","",""],["WpTarget::WpReadme","","WpTarget/WpReadme.html","",""],["WpTarget::WpRegistrable","","WpTarget/WpRegistrable.html","",""],["WpTheme","","WpTheme.html","",""],["WpTheme::Findable","","WpTheme/Findable.html","",""],["WpTheme::Versionable","","WpTheme/Versionable.html","",""],["WpTheme::Vulnerable","","WpTheme/Vulnerable.html","",""],["WpThemes","","WpThemes.html","",""],["WpThemes::Detectable","","WpThemes/Detectable.html","",""],["WpTimthumb","","WpTimthumb.html","",""],["WpTimthumb::Existable","","WpTimthumb/Existable.html","",""],["WpTimthumb::Output","","WpTimthumb/Output.html","",""],["WpTimthumb::Versionable","","WpTimthumb/Versionable.html","",""],["WpTimthumbs","","WpTimthumbs.html","",""],["WpTimthumbs::Detectable","","WpTimthumbs/Detectable.html","",""],["WpUser","","WpUser.html","",""],["WpUser::BruteForcable","","WpUser/BruteForcable.html","",""],["WpUser::Existable","","WpUser/Existable.html","",""],["WpUsers","","WpUsers.html","",""],["WpUsers::BruteForcable","","WpUsers/BruteForcable.html","",""],["WpUsers::Detectable","","WpUsers/Detectable.html","",""],["WpUsers::Output","","WpUsers/Output.html","",""],["WpVersion","","WpVersion.html","",""],["WpVersion::Findable","","WpVersion/Findable.html","",""],["WpVersion::Output","","WpVersion/Output.html","",""],["WpVersion::Vulnerable","","WpVersion/Vulnerable.html","",""],["WpscanOptions","","WpscanOptions.html","",""],["<=>","WpItem","WpItem.html#method-i-3C-3D-3E","(other)","
@return [ Array ] Make it private ?\n"],["allowed_options","WpTheme","WpTheme.html#method-i-allowed_options","()",""],["allowed_options","WpUser","WpUser.html#method-i-allowed_options","()","
It can take a long time to queue 2 million requests, for …\n"],["brute_force","WpUsers::BruteForcable","WpUsers/BruteForcable.html#method-i-brute_force","(wordlist, options = {})","
Brute force each wp_user\n
To avoid loading the wordlist each time in the wp_user instance It’s loaded\nhere, …\n"],["cache_key","Typhoeus::Request::Cacheable","Typhoeus/Request/Cacheable.html#method-i-cache_key","()",""],["changelog_url","WpItem::Infos","WpItem/Infos.html#method-i-changelog_url","()","
@return [ String ] The url to the changelog file\n"],["charset","File","File.html#method-c-charset","(file_path)","
@param [ String ] file_path\n
@return [ String ] The charset of the file\n"],["check_local_vulnerable_files","CheckerPlugin","CheckerPlugin.html#method-i-check_local_vulnerable_files","(dir_to_scan)",""],["check_vuln_ref_urls","CheckerPlugin","CheckerPlugin.html#method-i-check_vuln_ref_urls","()",""],["clean","CacheFileStore","CacheFileStore.html#method-i-clean","()",""],["clean_option","WpscanOptions","WpscanOptions.html#method-c-clean_option","(option)","
Will removed the ‘-’ or ‘–’ chars at the beginning of option and replace\nany remaining ‘-’ by ‘_’\n
Checks to see if wp-config.php has a backup See www.feross.org/cmsploit/\nreturn an array of backup config …\n"],["config_backup_files","WpTarget::WpConfigBackup","WpTarget/WpConfigBackup.html#method-c-config_backup_files","()","
Will set enumerate_* from the string value IE : if value = vp =>\n:enumerate_only_vulnerable_plugins …\n"],["enumerate_plugins=","WpscanOptions","WpscanOptions.html#method-i-enumerate_plugins-3D","(enumerate_plugins)",""],["enumerate_themes=","WpscanOptions","WpscanOptions.html#method-i-enumerate_themes-3D","(enumerate_themes)",""],["error_404_hash","WebSite","WebSite.html#method-i-error_404_hash","()","
Return the MD5 hash of a 404 page\n"],["error_log_url","WpItem::Infos","WpItem/Infos.html#method-i-error_log_url","()","
@return [ String ] The url to the error_log file\n"],["escape","URI","URI.html#method-i-escape","(str)",""],["exists?","WpItem::Existable","WpItem/Existable.html#method-i-exists-3F","(options = {}, response = nil)","
Check the existence of the WpItem If the response is supplied, it’s used\nfor the verification Otherwise …\n"],["exists_from_response?","WpItem::Existable","WpItem/Existable.html#method-i-exists_from_response-3F","(response, options = {})","
Uses data/wp_versions.xml to try to identify a wordpress version.\n
It does this by using client side file …\n"],["find_from_atom_generator","WpVersion::Findable","WpVersion/Findable.html#method-i-find_from_atom_generator","(target_uri)","
Attempts to find the WordPress version from, the generator tag in the Atom\nsource.\n
@param [ URI ] target_uri …\n"],["find_from_css_link","WpTheme::Findable","WpTheme/Findable.html#method-i-find_from_css_link","(target_uri)","
Discover the wordpress theme by parsing the css link rel\n
Attempts to find the WordPress version from, the generator tag in the RSS\nfeed source.\n
@param [ URI ] …\n"],["find_from_sitemap_generator","WpVersion::Findable","WpVersion/Findable.html#method-i-find_from_sitemap_generator","(target_uri)","
Attempts to find the WordPress version from the sitemap.xml file.\n
Gets the string all elements in stringarray ends with\n"],["get_opt_long","WpscanOptions","WpscanOptions.html#method-c-get_opt_long","()","
Even if a short option is given (IE : -u), the long one will be returned\n(IE : –url)\n"],["get_popular_items","GenerateList","GenerateList.html#method-i-get_popular_items","(pages)","
Send a HTTP request to the WordPress most popular theme or plugin webpage\nparse the response for the …\n"],["get_updater","UpdaterFactory","UpdaterFactory.html#method-c-get_updater","(repo_directory)",""],["green","Object","Object.html#method-i-green","(text)",""],["grep","Array","Array.html#method-i-grep","(regexp)",""],["has_basic_auth?","WebSite","WebSite.html#method-i-has_basic_auth-3F","()",""],["has_better_wp_security_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_better_wp_security_protection-3F","()","
Discover any error_log files created by WordPress These are created by the\nWordPress error_log() function …\n"],["has_full_path_disclosure?","WpTarget::WpFullPathDisclosure","WpTarget/WpFullPathDisclosure.html#method-i-has_full_path_disclosure-3F","()","
Only the first 700 bytes are checked to avoid the download of the whole\nfile which can be very huge (like …\n"],["has_login_lock_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_login_lock_protection-3F","()","
Thanks to Alip Aswalid for providing this method.\nwordpress.org/extend/plugins/login-lockdown/\n"],["has_login_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_login_protection-3F","()",""],["has_login_security_solution_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_login_security_solution_protection-3F","()","
wordpress.org/extend/plugins/login-security-solution/\n"],["has_malwares?","WpTarget::Malwares","WpTarget/Malwares.html#method-i-has_malwares-3F","(malwares_file_path = nil)",""],["has_options?","WpscanOptions","WpscanOptions.html#method-i-has_options-3F","()",""],["has_plugin?","WpTarget","WpTarget.html#method-i-has_plugin-3F","(name, version = nil)","
The version is not yet considerated\n
@param [ String ] name @param [ String ] version\n
This file comes by default in a wordpress installation, and …\n"],["has_robots?","WebSite","WebSite.html#method-i-has_robots-3F","()","
Checks if a robots.txt file exists\n"],["has_simple_login_lockdown_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_simple_login_lockdown_protection-3F","()","
Compare the body hash to error_404_hash and homepage_hash returns true if\nthey are different, false otherwise …\n"],["has_xml_rpc?","WebSite","WebSite.html#method-i-has_xml_rpc-3F","()",""],["help","Object","Object.html#method-i-help","()","
Compares two version strings. Returns true if version1 is equal to version2\nor when version1 is older …\n"],["item_class","WpItems::Detectable","WpItems/Detectable.html#method-i-item_class","()","
@return [ Class ]\n"],["item_xpath","WpPlugins::Detectable","WpPlugins/Detectable.html#method-i-item_xpath","()","
Will load the options from ARGV return WpscanOptions\n"],["load_from_xml_node","Vulnerability","Vulnerability.html#method-c-load_from_xml_node","(xml_node)","
Git has not a revsion number like SVN, so we will take the 7 first chars of\nthe last commit hash\n"],["local_revision_number","SvnUpdater","SvnUpdater.html#method-i-local_revision_number","()",""],["local_revision_number","Updater","Updater.html#method-i-local_revision_number","()",""],["login_from_author_pattern","WpUser::Existable","WpUser/Existable.html#method-c-login_from_author_pattern","(text)","
@param [ String ] text\n
@return [ String ] The login\n"],["login_from_body","WpUser::Existable","WpUser/Existable.html#method-c-login_from_body","(body)","
@param [ String ] body\n
@return [ String ] The login\n"],["login_protection_plugin","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-login_protection_plugin","()","
Checks if a login protection plugin is enabled\ncode.google.com/p/wpscan/issues/detail?id=111 return a …\n"],["login_request","WpUser::BruteForcable","WpUser/BruteForcable.html#method-i-login_request","(password)","
return array of string (url of malwares found)\n"],["malwares_file","WpTarget::Malwares","WpTarget/Malwares.html#method-c-malwares_file","(malwares_file_path)",""],["max_threads","Browser::Options","Browser/Options.html#method-i-max_threads","()","
@return [ String ] The url to the metasploit module page\n"],["multisite?","WpTarget::WpRegistrable","WpTarget/WpRegistrable.html#method-i-multisite-3F","()","
TODO : add a last ‘/ to repo_directory if it’s not present\n"],["new","Vulnerability","Vulnerability.html#method-c-new","(title, type, references, metasploit_modules = [], fixed_in = '')","
@param [ String ] title The title of the vulnerability @param [ String ]\ntype The type of the vulnerability …\n"],["new","WebSite","WebSite.html#method-c-new","(site_url)",""],["new","WpItem","WpItem.html#method-c-new","(target_base_uri, options = {})","
@param [ URI ] target_base_uri @param [ Hash ] options See allowed_option\n
Checks if the remote website is up.\n"],["option_to_instance_variable_setter","WpscanOptions","WpscanOptions.html#method-c-option_to_instance_variable_setter","(option)",""],["option_to_symbol","CustomOptionParser","CustomOptionParser.html#method-c-option_to_symbol","(option)","
Variable, such as $wp-plugins$ and $wp-content$ can be used and will be\nreplace by their …\n"],["plugin_url","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-plugin_url","(plugin_name)",""],["plugin_vulns_count","StatsPlugin","StatsPlugin.html#method-i-plugin_vulns_count","(file=PLUGINS_VULNS_FILE)",""],["post","Browser::Actions","Browser/Actions.html#method-i-post","(url, params = {})","
Override for puts to enable logging\n"],["read_entry","CacheFileStore","CacheFileStore.html#method-i-read_entry","(key)",""],["readme_url","WpItem::Infos","WpItem/Infos.html#method-i-readme_url","()","
@return [ String,nil ] The url to the readme file, nil if not found\n"],["readme_url","WpTarget::WpReadme","WpTarget/WpReadme.html#method-i-readme_url","()","
@return [ String ] The readme URL\n"],["red","Object","Object.html#method-i-red","(text)",""],["redefine_constant","Object","Object.html#method-i-redefine_constant","(constant, value)",""],["redirection","WebSite","WebSite.html#method-i-redirection","(url = nil)","
See if the remote url returns 30x redirect This method is recursive Return\na string with the redirection …\n"],["register","Plugins","Plugins.html#method-i-register","(*plugins)","
TODO : add an exclude pattern ?\n"],["reset","Browser","Browser.html#method-c-reset","()",""],["reset_head","GitUpdater","GitUpdater.html#method-i-reset_head","()",""],["results","CustomOptionParser","CustomOptionParser.html#method-i-results","(argv = default_argv)","
Will try to find the rss url in the homepage Only the first one found iw\nreturned\n"],["run","CheckerPlugin","CheckerPlugin.html#method-i-run","(options = {})",""],["run","ListGeneratorPlugin","ListGeneratorPlugin.html#method-i-run","(options = {})",""],["run","Plugin","Plugin.html#method-i-run","(options = {})",""],["run","StatsPlugin","StatsPlugin.html#method-i-run","(options = {})",""],["save","GenerateList","GenerateList.html#method-i-save","(items)","
Save the file\n"],["scan_url","WpVersion::Findable","WpVersion/Findable.html#method-i-scan_url","(target_uri, pattern, path = nil)","
Returns the first match of <pattern> in the body of the url\n
@param [ URI ] target_uri @param [ …\n"],["search_replace_db_2_exists?","WpTarget","WpTarget.html#method-i-search_replace_db_2_exists-3F","()","
Script for replacing strings in wordpress databases reveals databse\ncredentials after hitting submit …\n"],["set","TyphoeusCache","TyphoeusCache.html#method-i-set","(request, response)",""],["set_file_name","GenerateList","GenerateList.html#method-i-set_file_name","(type)",""],["set_option_from_cli","WpscanOptions","WpscanOptions.html#method-i-set_option_from_cli","(cli_option, cli_value)","
@return [ String ] The url to the theme stylesheet\n"],["targets_items","WpItems::Detectable","WpItems/Detectable.html#method-i-targets_items","(wp_target, options = {})","
@return [ URI ] The uri to the WpItem, with the path if present\n"],["uri","WpUser","WpUser.html#method-i-uri","()","
@return [ URI ] The uri to the auhor page\n"],["url","WebSite","WebSite.html#method-i-url","()",""],["url","WpItem","WpItem.html#method-i-url","()","
@return [ String ] The url to the WpItem\n"],["url=","WebSite","WebSite.html#method-i-url-3D","(url)",""],["url=","WpscanOptions","WpscanOptions.html#method-i-url-3D","(url)",""],["url_is_200?","WpItem::Infos","WpItem/Infos.html#method-i-url_is_200-3F","(url)","
Checks if the url status code is 200\n
@param [ String ] url\n
@return [ Boolean ] True if the url status is …\n"],["usage","Object","Object.html#method-i-usage","()","
@return [ String ] The user agent, according to the user_agent_mode\n"],["user_agent_mode=","Browser::Options","Browser/Options.html#method-i-user_agent_mode-3D","(ua_mode)","
Sets the user_agent_mode, which can be one of the following:\n\n
Get the version from the body of an invalid request See\ncode.google.com/p/timthumb/source/browse/trunk/timthumb.php#426 …\n"],["version_pattern","WpVersion::Findable","WpVersion/Findable.html#method-i-version_pattern","()","
Used to check if the version is correct: must contain at least one dot.\n
@return [ String ] The path to the file containing vulnerabilities\n"],["vulns_file","WpPlugins::Detectable","WpPlugins/Detectable.html#method-i-vulns_file","()","
@return [ String ] The path to the file containing vulnerabilities\n"],["vulns_file","WpThemes::Detectable","WpThemes/Detectable.html#method-i-vulns_file","()","
@return [ String ] The path to the file containing vulnerabilities\n"],["vulns_xpath","WpPlugin::Vulnerable","WpPlugin/Vulnerable.html#method-i-vulns_xpath","()","
check if the target website is actually running wordpress.\n"],["wp_content_dir","WpTarget::WpCustomDirectories","WpTarget/WpCustomDirectories.html#method-i-wp_content_dir","()","
@return [ String ] The wp-content directory\n"],["wp_plugins_dir","WpTarget::WpCustomDirectories","WpTarget/WpCustomDirectories.html#method-i-wp_plugins_dir","()","
@return [ String ] The wp-plugins directory\n"],["wp_plugins_dir_exists?","WpTarget::WpCustomDirectories","WpTarget/WpCustomDirectories.html#method-i-wp_plugins_dir_exists-3F","()","
See www.hixie.ch/specs/pingback/pingback-1.0#TOC2.3\n"],["xml_rpc_url_from_body","WebSite","WebSite.html#method-i-xml_rpc_url_from_body","()",""],["xml_rpc_url_from_headers","WebSite","WebSite.html#method-i-xml_rpc_url_from_headers","()",""],["CREDITS","","CREDITS.html","","
*CREDITS*\n
This file is to give credit to WPScan’s contributors. If you feel your name\nshould be in here, …\n"],["Gemfile","","Gemfile.html","","
source “rubygems.org”\n
# Seg fault in Typhoeus 0.6.3 (and ethon > 0.5.11) with rspec gem\n“typhoeus”, …\n"],["Gemfile.lock","","Gemfile_lock.html","","
#!/bin/bash DIR=“$( cd ”$( dirname “${BASH_SOURCE}” )“ && pwd )” …\n"]]}}
\ No newline at end of file
+var search_data = {"index":{"searchIndex":["array","browser","actions","options","cachefilestore","checkerplugin","customoptionparser","ethon","easy","options","file","gem","generatelist","gitupdater","listgeneratorplugin","object","plugin","plugins","statsplugin","svnparser","svnupdater","terminal","table","style","typhoeus","request","cacheable","response","typhoeuscache","uri","updater","updaterfactory","versioncompare","vulnerabilities","output","vulnerability","output","website","wpitem","existable","findable","infos","output","versionable","vulnerable","wpitems","detectable","output","wpplugin","vulnerable","wpplugins","detectable","wptarget","malwares","wpconfigbackup","wpcustomdirectories","wpfullpathdisclosure","wploginprotection","wpreadme","wpregistrable","wptheme","findable","versionable","vulnerable","wpthemes","detectable","wptimthumb","existable","output","versionable","wptimthumbs","detectable","wpuser","bruteforcable","existable","wpusers","bruteforcable","detectable","output","wpversion","findable","output","vulnerable","wpscanoptions","<=>()","<=>()","==()","==()","==()","==()","==()","===()","===()","_grep_()","add()","add_http_protocol()","add_option()","add_trailing_slash()","aggressive_detection()","allowed_options()","allowed_options()","allowed_options()","allowed_options()","available_updaters_classes()","banner()","basic_auth=()","basic_auth=()","better_wp_security_url()","bluetrait_event_viewer_url()","brute_force()","brute_force()","cache_key()","changelog_url()","charset()","check_local_vulnerable_files()","check_vuln_ref_urls()","clean()","clean_option()","colorize()","config_backup()","config_backup_files()","cookiefile=()","cookiejar=()","create_item()","create_item()","debug_log_url()","debug_output=()","default_wp_content_dir_exists?()","display_name_from_body()","encode()","enumerate_all_plugins=()","enumerate_all_themes=()","enumerate_only_vulnerable_plugins=()","enumerate_only_vulnerable_themes=()","enumerate_options_from_string()","enumerate_plugins=()","enumerate_themes=()","error_404_hash()","error_log_url()","escape()","exists?()","exists_from_response?()","exists_from_response?()","exists_from_response?()","find()","find()","find_from_advanced_fingerprinting()","find_from_atom_generator()","find_from_css_link()","find_from_links_opml()","find_from_meta_generator()","find_from_rdf_generator()","find_from_readme()","find_from_rss_generator()","find_from_sitemap_generator()","find_from_wooframework()","forge_request()","forge_uri()","forge_uri()","forge_uri()","found_from=()","full_path_disclosure_url()","generate_full_list()","generate_popular_list()","get()","get()","get_and_follow_location()","get_entry_file_path()","get_equal_string_end()","get_opt_long()","get_popular_items()","get_updater()","green()","grep()","has_basic_auth?()","has_better_wp_security_protection?()","has_bluetrait_event_viewer_protection?()","has_changelog?()","has_debug_log?()","has_directory_listing?()","has_error_log?()","has_full_path_disclosure?()","has_limit_login_attempts_protection?()","has_local_changes?()","has_log?()","has_login_lock_protection?()","has_login_lockdown_protection?()","has_login_protection?()","has_login_security_solution_protection?()","has_malwares?()","has_options?()","has_plugin?()","has_readme?()","has_readme?()","has_robots?()","has_simple_login_lockdown_protection?()","has_valid_hash?()","has_xml_rpc?()","help()","homepage_hash()","instance()","invalid_proxy_auth_format()","is_installed?()","is_installed?()","is_installed?()","is_long_option?()","is_newer_or_same?()","item_class()","item_xpath()","item_xpath()","limit_login_attempts_url()","lines_in_file()","load_config()","load_from_arguments()","load_from_xml_node()","local_revision_number()","local_revision_number()","local_revision_number()","login_from_author_pattern()","login_from_body()","login_protection_plugin()","login_request()","login_security_solution_url()","login_url()","login_url()","main()","malware_pattern()","malwares()","malwares_file()","max_threads()","max_threads=()","merge_request_params()","metasploit_module_url()","multisite?()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","new()","online?()","option_to_instance_variable_setter()","option_to_symbol()","output()","output()","output()","output()","output()","output()","output()","override_config()","page_hash()","parse()","passive_detection()","passive_detection()","passive_detection()","passwords_from_wordlist()","path=()","plugin_url()","plugin_vulns_count()","post()","process()","progress_bar()","progress_bar()","proxy=()","proxy=()","proxy_auth=()","proxy_auth=()","puts()","read_entry()","readme_url()","readme_url()","red()","redefine_constant()","redirection()","register()","register_options()","register_plugin()","registration_enabled?()","registration_url()","remove_junk_from_display_names()","render()","repo_directory_arguments()","request_params()","request_params()","require_files_from_directory()","reset()","reset_head()","results()","robots_url()","rss_url()","run()","run()","run()","run()","save()","scan_url()","search_replace_db_2_exists?()","search_replace_db_2_url()","set()","set_file_name()","set_option_from_cli()","simple_login_lockdown_url()","style_url()","targets_items()","targets_items()","targets_items()","targets_items_from_file()","targets_items_from_file()","theme()","theme_timthumbs()","theme_vulns_count()","threads=()","to_h()","to_s()","to_s()","to_s()","to_s()","total_plugins()","total_themes()","update()","update()","update()","uri()","uri()","url()","url()","url=()","url=()","url_is_200?()","usage()","user_agent()","user_agent_mode=()","valid_password?()","valid_response_codes()","version()","version()","version()","version()","version_pattern()","vuln_plugin_count()","vuln_theme_count()","vulnerabilities()","vulnerable_targets_items()","vulnerable_to?()","vulns_file()","vulns_file()","vulns_file()","vulns_file()","vulns_file()","vulns_xpath()","vulns_xpath()","vulns_xpath()","wordlist=()","wordpress?()","wp_content_dir()","wp_plugins_dir()","wp_plugins_dir_exists?()","write_entry()","xml()","xml_rpc_url()","xml_rpc_url_from_body()","xml_rpc_url_from_headers()","credits","gemfile","gemfile.lock","license","readme","readme","cookie-jar","browser.conf.json","generate_doc.sh"],"longSearchIndex":["array","browser","browser::actions","browser::options","cachefilestore","checkerplugin","customoptionparser","ethon","ethon::easy","ethon::easy::options","file","gem","generatelist","gitupdater","listgeneratorplugin","object","plugin","plugins","statsplugin","svnparser","svnupdater","terminal","terminal::table","terminal::table::style","typhoeus","typhoeus::request","typhoeus::request::cacheable","typhoeus::response","typhoeuscache","uri","updater","updaterfactory","versioncompare","vulnerabilities","vulnerabilities::output","vulnerability","vulnerability::output","website","wpitem","wpitem::existable","wpitem::findable","wpitem::infos","wpitem::output","wpitem::versionable","wpitem::vulnerable","wpitems","wpitems::detectable","wpitems::output","wpplugin","wpplugin::vulnerable","wpplugins","wpplugins::detectable","wptarget","wptarget::malwares","wptarget::wpconfigbackup","wptarget::wpcustomdirectories","wptarget::wpfullpathdisclosure","wptarget::wploginprotection","wptarget::wpreadme","wptarget::wpregistrable","wptheme","wptheme::findable","wptheme::versionable","wptheme::vulnerable","wpthemes","wpthemes::detectable","wptimthumb","wptimthumb::existable","wptimthumb::output","wptimthumb::versionable","wptimthumbs","wptimthumbs::detectable","wpuser","wpuser::bruteforcable","wpuser::existable","wpusers","wpusers::bruteforcable","wpusers::detectable","wpusers::output","wpversion","wpversion::findable","wpversion::output","wpversion::vulnerable","wpscanoptions","wpitem#<=>()","wpuser#<=>()","vulnerability#==()","wpitem#==()","wptimthumb#==()","wpuser#==()","wpversion#==()","wpitem#===()","wpuser#===()","array#_grep_()","customoptionparser#add()","object#add_http_protocol()","customoptionparser#add_option()","object#add_trailing_slash()","wpitems::detectable#aggressive_detection()","wpitem#allowed_options()","wptheme#allowed_options()","wpuser#allowed_options()","wpversion#allowed_options()","updaterfactory::available_updaters_classes()","object#banner()","browser::options#basic_auth=()","wpscanoptions#basic_auth=()","wptarget::wploginprotection#better_wp_security_url()","wptarget::wploginprotection#bluetrait_event_viewer_url()","wpuser::bruteforcable#brute_force()","wpusers::bruteforcable#brute_force()","typhoeus::request::cacheable#cache_key()","wpitem::infos#changelog_url()","file::charset()","checkerplugin#check_local_vulnerable_files()","checkerplugin#check_vuln_ref_urls()","cachefilestore#clean()","wpscanoptions::clean_option()","object#colorize()","wptarget::wpconfigbackup#config_backup()","wptarget::wpconfigbackup::config_backup_files()","ethon::easy::options#cookiefile=()","ethon::easy::options#cookiejar=()","wpitems::detectable#create_item()","wptimthumbs::detectable#create_item()","wptarget#debug_log_url()","wpscanoptions#debug_output=()","wptarget::wpcustomdirectories#default_wp_content_dir_exists?()","wpuser::existable::display_name_from_body()","uri#encode()","wpscanoptions#enumerate_all_plugins=()","wpscanoptions#enumerate_all_themes=()","wpscanoptions#enumerate_only_vulnerable_plugins=()","wpscanoptions#enumerate_only_vulnerable_themes=()","wpscanoptions#enumerate_options_from_string()","wpscanoptions#enumerate_plugins=()","wpscanoptions#enumerate_themes=()","website#error_404_hash()","wpitem::infos#error_log_url()","uri#escape()","wpitem::existable#exists?()","wpitem::existable#exists_from_response?()","wptimthumb::existable#exists_from_response?()","wpuser::existable#exists_from_response?()","wptheme::findable#find()","wpversion::findable#find()","wpversion::findable#find_from_advanced_fingerprinting()","wpversion::findable#find_from_atom_generator()","wptheme::findable#find_from_css_link()","wpversion::findable#find_from_links_opml()","wpversion::findable#find_from_meta_generator()","wpversion::findable#find_from_rdf_generator()","wpversion::findable#find_from_readme()","wpversion::findable#find_from_rss_generator()","wpversion::findable#find_from_sitemap_generator()","wptheme::findable#find_from_wooframework()","browser#forge_request()","wpitem#forge_uri()","wpplugin#forge_uri()","wptheme#forge_uri()","wpitem#found_from=()","wptarget::wpfullpathdisclosure#full_path_disclosure_url()","generatelist#generate_full_list()","generatelist#generate_popular_list()","browser::actions#get()","typhoeuscache#get()","browser::actions#get_and_follow_location()","cachefilestore#get_entry_file_path()","object#get_equal_string_end()","wpscanoptions::get_opt_long()","generatelist#get_popular_items()","updaterfactory::get_updater()","object#green()","array#grep()","website#has_basic_auth?()","wptarget::wploginprotection#has_better_wp_security_protection?()","wptarget::wploginprotection#has_bluetrait_event_viewer_protection?()","wpitem::infos#has_changelog?()","wptarget#has_debug_log?()","wpitem::infos#has_directory_listing?()","wpitem::infos#has_error_log?()","wptarget::wpfullpathdisclosure#has_full_path_disclosure?()","wptarget::wploginprotection#has_limit_login_attempts_protection?()","gitupdater#has_local_changes?()","website::has_log?()","wptarget::wploginprotection#has_login_lock_protection?()","wptarget::wploginprotection#has_login_lockdown_protection?()","wptarget::wploginprotection#has_login_protection?()","wptarget::wploginprotection#has_login_security_solution_protection?()","wptarget::malwares#has_malwares?()","wpscanoptions#has_options?()","wptarget#has_plugin?()","wpitem::infos#has_readme?()","wptarget::wpreadme#has_readme?()","website#has_robots?()","wptarget::wploginprotection#has_simple_login_lockdown_protection?()","typhoeus::response#has_valid_hash?()","website#has_xml_rpc?()","object#help()","website#homepage_hash()","browser::instance()","browser::options#invalid_proxy_auth_format()","gitupdater#is_installed?()","svnupdater#is_installed?()","updater#is_installed?()","wpscanoptions::is_long_option?()","versioncompare::is_newer_or_same?()","wpitems::detectable#item_class()","wpplugins::detectable#item_xpath()","wpthemes::detectable#item_xpath()","wptarget::wploginprotection#limit_login_attempts_url()","statsplugin#lines_in_file()","browser#load_config()","wpscanoptions::load_from_arguments()","vulnerability::load_from_xml_node()","gitupdater#local_revision_number()","svnupdater#local_revision_number()","updater#local_revision_number()","wpuser::existable::login_from_author_pattern()","wpuser::existable::login_from_body()","wptarget::wploginprotection#login_protection_plugin()","wpuser::bruteforcable#login_request()","wptarget::wploginprotection#login_security_solution_url()","wptarget#login_url()","wpuser#login_url()","object#main()","wptarget::malwares::malware_pattern()","wptarget::malwares#malwares()","wptarget::malwares::malwares_file()","browser::options#max_threads()","browser::options#max_threads=()","browser#merge_request_params()","vulnerability::output::metasploit_module_url()","wptarget::wpregistrable#multisite?()","cachefilestore::new()","checkerplugin::new()","customoptionparser::new()","generatelist::new()","listgeneratorplugin::new()","plugin::new()","plugins::new()","statsplugin::new()","svnparser::new()","updater::new()","vulnerability::new()","website::new()","wpitem::new()","wptarget::new()","wpscanoptions::new()","website#online?()","wpscanoptions::option_to_instance_variable_setter()","customoptionparser::option_to_symbol()","vulnerabilities::output#output()","vulnerability::output#output()","wpitem::output#output()","wpitems::output#output()","wptimthumb::output#output()","wpusers::output#output()","wpversion::output#output()","browser::options#override_config()","website::page_hash()","svnparser#parse()","wpitems::detectable#passive_detection()","wptimthumbs::detectable#passive_detection()","wpusers::detectable#passive_detection()","wpuser::bruteforcable::passwords_from_wordlist()","wpitem#path=()","wptarget::wploginprotection#plugin_url()","statsplugin#plugin_vulns_count()","browser::actions#post()","browser::actions#process()","wpitems::detectable#progress_bar()","wpuser::bruteforcable#progress_bar()","browser::options#proxy=()","wpscanoptions#proxy=()","browser::options#proxy_auth=()","wpscanoptions#proxy_auth=()","object#puts()","cachefilestore#read_entry()","wpitem::infos#readme_url()","wptarget::wpreadme#readme_url()","object#red()","object#redefine_constant()","website#redirection()","plugins#register()","plugin#register_options()","plugins#register_plugin()","wptarget::wpregistrable#registration_enabled?()","wptarget::wpregistrable#registration_url()","wpusers::output#remove_junk_from_display_names()","terminal::table#render()","gitupdater#repo_directory_arguments()","wpitems::detectable#request_params()","wpusers::detectable#request_params()","object#require_files_from_directory()","browser::reset()","gitupdater#reset_head()","customoptionparser#results()","website#robots_url()","website#rss_url()","checkerplugin#run()","listgeneratorplugin#run()","plugin#run()","statsplugin#run()","generatelist#save()","wpversion::findable#scan_url()","wptarget#search_replace_db_2_exists?()","wptarget#search_replace_db_2_url()","typhoeuscache#set()","generatelist#set_file_name()","wpscanoptions#set_option_from_cli()","wptarget::wploginprotection#simple_login_lockdown_url()","wptheme#style_url()","wpitems::detectable#targets_items()","wptimthumbs::detectable#targets_items()","wpusers::detectable#targets_items()","wpitems::detectable#targets_items_from_file()","wptimthumbs::detectable#targets_items_from_file()","wptarget#theme()","wptimthumbs::detectable#theme_timthumbs()","statsplugin#theme_vulns_count()","wpscanoptions#threads=()","wpscanoptions#to_h()","terminal::table#to_s()","wpitem::versionable#to_s()","wptimthumb::versionable#to_s()","wpuser#to_s()","statsplugin#total_plugins()","statsplugin#total_themes()","gitupdater#update()","svnupdater#update()","updater#update()","wpitem#uri()","wpuser#uri()","website#url()","wpitem#url()","website#url=()","wpscanoptions#url=()","wpitem::infos#url_is_200?()","object#usage()","browser::options#user_agent()","browser::options#user_agent_mode=()","wpuser::bruteforcable#valid_password?()","wptarget::valid_response_codes()","wpitem::versionable#version()","wptarget#version()","wptheme::versionable#version()","wptimthumb::versionable#version()","wpversion::findable#version_pattern()","statsplugin#vuln_plugin_count()","statsplugin#vuln_theme_count()","wpitem::vulnerable#vulnerabilities()","wpitems::detectable#vulnerable_targets_items()","wpitem::vulnerable#vulnerable_to?()","wpplugin::vulnerable#vulns_file()","wpplugins::detectable#vulns_file()","wptheme::vulnerable#vulns_file()","wpthemes::detectable#vulns_file()","wpversion::vulnerable#vulns_file()","wpplugin::vulnerable#vulns_xpath()","wptheme::vulnerable#vulns_xpath()","wpversion::vulnerable#vulns_xpath()","wpscanoptions#wordlist=()","wptarget#wordpress?()","wptarget::wpcustomdirectories#wp_content_dir()","wptarget::wpcustomdirectories#wp_plugins_dir()","wptarget::wpcustomdirectories#wp_plugins_dir_exists?()","cachefilestore#write_entry()","object#xml()","website#xml_rpc_url()","website#xml_rpc_url_from_body()","website#xml_rpc_url_from_headers()","","","","","","","","",""],"info":[["Array","","Array.html","",""],["Browser","","Browser.html","",""],["Browser::Actions","","Browser/Actions.html","",""],["Browser::Options","","Browser/Options.html","",""],["CacheFileStore","","CacheFileStore.html","",""],["CheckerPlugin","","CheckerPlugin.html","",""],["CustomOptionParser","","CustomOptionParser.html","",""],["Ethon","","Ethon.html","",""],["Ethon::Easy","","Ethon/Easy.html","",""],["Ethon::Easy::Options","","Ethon/Easy/Options.html","",""],["File","","File.html","",""],["Gem","","Gem.html","",""],["GenerateList","","GenerateList.html","","
This tool generates a list to use for plugin and theme enumeration\n"],["GitUpdater","","GitUpdater.html","",""],["ListGeneratorPlugin","","ListGeneratorPlugin.html","",""],["Object","","Object.html","",""],["Plugin","","Plugin.html","",""],["Plugins","","Plugins.html","",""],["StatsPlugin","","StatsPlugin.html","",""],["SvnParser","","SvnParser.html","","
This Class Parses SVN Repositories via HTTP\n"],["SvnUpdater","","SvnUpdater.html","",""],["Terminal","","Terminal.html","",""],["Terminal::Table","","Terminal/Table.html","",""],["Terminal::Table::Style","","Terminal/Table/Style.html","",""],["Typhoeus","","Typhoeus.html","","
This is used in WpItem::Existable\n
Implementaion of a cache_key (Typhoeus::Request#hash has too many options)\n…\n"],["Typhoeus::Request","","Typhoeus/Request.html","",""],["Typhoeus::Request::Cacheable","","Typhoeus/Request/Cacheable.html","",""],["Typhoeus::Response","","Typhoeus/Response.html","",""],["TyphoeusCache","","TyphoeusCache.html","",""],["URI","","URI.html","",""],["Updater","","Updater.html","","
This class act as an absract one\n"],["UpdaterFactory","","UpdaterFactory.html","",""],["VersionCompare","","VersionCompare.html","",""],["Vulnerabilities","","Vulnerabilities.html","",""],["Vulnerabilities::Output","","Vulnerabilities/Output.html","",""],["Vulnerability","","Vulnerability.html","",""],["Vulnerability::Output","","Vulnerability/Output.html","",""],["WebSite","","WebSite.html","",""],["WpItem","","WpItem.html","",""],["WpItem::Existable","","WpItem/Existable.html","",""],["WpItem::Findable","","WpItem/Findable.html","",""],["WpItem::Infos","","WpItem/Infos.html","","
@uri is used instead of #uri to avoid the presence of the :path into it\n"],["WpItem::Output","","WpItem/Output.html","",""],["WpItem::Versionable","","WpItem/Versionable.html","",""],["WpItem::Vulnerable","","WpItem/Vulnerable.html","",""],["WpItems","","WpItems.html","",""],["WpItems::Detectable","","WpItems/Detectable.html","",""],["WpItems::Output","","WpItems/Output.html","",""],["WpPlugin","","WpPlugin.html","",""],["WpPlugin::Vulnerable","","WpPlugin/Vulnerable.html","",""],["WpPlugins","","WpPlugins.html","",""],["WpPlugins::Detectable","","WpPlugins/Detectable.html","",""],["WpTarget","","WpTarget.html","",""],["WpTarget::Malwares","","WpTarget/Malwares.html","",""],["WpTarget::WpConfigBackup","","WpTarget/WpConfigBackup.html","",""],["WpTarget::WpCustomDirectories","","WpTarget/WpCustomDirectories.html","",""],["WpTarget::WpFullPathDisclosure","","WpTarget/WpFullPathDisclosure.html","",""],["WpTarget::WpLoginProtection","","WpTarget/WpLoginProtection.html","",""],["WpTarget::WpReadme","","WpTarget/WpReadme.html","",""],["WpTarget::WpRegistrable","","WpTarget/WpRegistrable.html","",""],["WpTheme","","WpTheme.html","",""],["WpTheme::Findable","","WpTheme/Findable.html","",""],["WpTheme::Versionable","","WpTheme/Versionable.html","",""],["WpTheme::Vulnerable","","WpTheme/Vulnerable.html","",""],["WpThemes","","WpThemes.html","",""],["WpThemes::Detectable","","WpThemes/Detectable.html","",""],["WpTimthumb","","WpTimthumb.html","",""],["WpTimthumb::Existable","","WpTimthumb/Existable.html","",""],["WpTimthumb::Output","","WpTimthumb/Output.html","",""],["WpTimthumb::Versionable","","WpTimthumb/Versionable.html","",""],["WpTimthumbs","","WpTimthumbs.html","",""],["WpTimthumbs::Detectable","","WpTimthumbs/Detectable.html","",""],["WpUser","","WpUser.html","",""],["WpUser::BruteForcable","","WpUser/BruteForcable.html","",""],["WpUser::Existable","","WpUser/Existable.html","",""],["WpUsers","","WpUsers.html","",""],["WpUsers::BruteForcable","","WpUsers/BruteForcable.html","",""],["WpUsers::Detectable","","WpUsers/Detectable.html","",""],["WpUsers::Output","","WpUsers/Output.html","",""],["WpVersion","","WpVersion.html","",""],["WpVersion::Findable","","WpVersion/Findable.html","",""],["WpVersion::Output","","WpVersion/Output.html","",""],["WpVersion::Vulnerable","","WpVersion/Vulnerable.html","",""],["WpscanOptions","","WpscanOptions.html","",""],["<=>","WpItem","WpItem.html#method-i-3C-3D-3E","(other)","
@return [ Array ] Make it private ?\n"],["allowed_options","WpTheme","WpTheme.html#method-i-allowed_options","()",""],["allowed_options","WpUser","WpUser.html#method-i-allowed_options","()","
It can take a long time to queue 2 million requests, for …\n"],["brute_force","WpUsers::BruteForcable","WpUsers/BruteForcable.html#method-i-brute_force","(wordlist, options = {})","
Brute force each wp_user\n
To avoid loading the wordlist each time in the wp_user instance It’s loaded\nhere, …\n"],["cache_key","Typhoeus::Request::Cacheable","Typhoeus/Request/Cacheable.html#method-i-cache_key","()",""],["changelog_url","WpItem::Infos","WpItem/Infos.html#method-i-changelog_url","()","
@return [ String ] The url to the changelog file\n"],["charset","File","File.html#method-c-charset","(file_path)","
@param [ String ] file_path\n
@return [ String ] The charset of the file\n"],["check_local_vulnerable_files","CheckerPlugin","CheckerPlugin.html#method-i-check_local_vulnerable_files","(dir_to_scan)",""],["check_vuln_ref_urls","CheckerPlugin","CheckerPlugin.html#method-i-check_vuln_ref_urls","()",""],["clean","CacheFileStore","CacheFileStore.html#method-i-clean","()",""],["clean_option","WpscanOptions","WpscanOptions.html#method-c-clean_option","(option)","
Will removed the ‘-’ or ‘–’ chars at the beginning of option and replace\nany remaining ‘-’ by ‘_’\n
Checks to see if wp-config.php has a backup See www.feross.org/cmsploit/\nreturn an array of backup config …\n"],["config_backup_files","WpTarget::WpConfigBackup","WpTarget/WpConfigBackup.html#method-c-config_backup_files","()","
Will set enumerate_* from the string value IE : if value = vp =>\n:enumerate_only_vulnerable_plugins …\n"],["enumerate_plugins=","WpscanOptions","WpscanOptions.html#method-i-enumerate_plugins-3D","(enumerate_plugins)",""],["enumerate_themes=","WpscanOptions","WpscanOptions.html#method-i-enumerate_themes-3D","(enumerate_themes)",""],["error_404_hash","WebSite","WebSite.html#method-i-error_404_hash","()","
Return the MD5 hash of a 404 page\n"],["error_log_url","WpItem::Infos","WpItem/Infos.html#method-i-error_log_url","()","
@return [ String ] The url to the error_log file\n"],["escape","URI","URI.html#method-i-escape","(str)",""],["exists?","WpItem::Existable","WpItem/Existable.html#method-i-exists-3F","(options = {}, response = nil)","
Check the existence of the WpItem If the response is supplied, it’s used\nfor the verification Otherwise …\n"],["exists_from_response?","WpItem::Existable","WpItem/Existable.html#method-i-exists_from_response-3F","(response, options = {})","
Uses data/wp_versions.xml to try to identify a wordpress version.\n
It does this by using client side file …\n"],["find_from_atom_generator","WpVersion::Findable","WpVersion/Findable.html#method-i-find_from_atom_generator","(target_uri)","
Attempts to find the WordPress version from, the generator tag in the Atom\nsource.\n
@param [ URI ] target_uri …\n"],["find_from_css_link","WpTheme::Findable","WpTheme/Findable.html#method-i-find_from_css_link","(target_uri)","
Discover the wordpress theme by parsing the css link rel\n
Attempts to find the WordPress version from, the generator tag in the RSS\nfeed source.\n
@param [ URI ] …\n"],["find_from_sitemap_generator","WpVersion::Findable","WpVersion/Findable.html#method-i-find_from_sitemap_generator","(target_uri)","
Attempts to find the WordPress version from the sitemap.xml file.\n
Gets the string all elements in stringarray ends with\n"],["get_opt_long","WpscanOptions","WpscanOptions.html#method-c-get_opt_long","()","
Even if a short option is given (IE : -u), the long one will be returned\n(IE : –url)\n"],["get_popular_items","GenerateList","GenerateList.html#method-i-get_popular_items","(pages)","
Send a HTTP request to the WordPress most popular theme or plugin webpage\nparse the response for the …\n"],["get_updater","UpdaterFactory","UpdaterFactory.html#method-c-get_updater","(repo_directory)",""],["green","Object","Object.html#method-i-green","(text)",""],["grep","Array","Array.html#method-i-grep","(regexp)",""],["has_basic_auth?","WebSite","WebSite.html#method-i-has_basic_auth-3F","()",""],["has_better_wp_security_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_better_wp_security_protection-3F","()","
Discover any error_log files created by WordPress These are created by the\nWordPress error_log() function …\n"],["has_full_path_disclosure?","WpTarget::WpFullPathDisclosure","WpTarget/WpFullPathDisclosure.html#method-i-has_full_path_disclosure-3F","()","
Only the first 700 bytes are checked to avoid the download of the whole\nfile which can be very huge (like …\n"],["has_login_lock_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_login_lock_protection-3F","()","
Thanks to Alip Aswalid for providing this method.\nwordpress.org/extend/plugins/login-lockdown/\n"],["has_login_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_login_protection-3F","()",""],["has_login_security_solution_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_login_security_solution_protection-3F","()","
wordpress.org/extend/plugins/login-security-solution/\n"],["has_malwares?","WpTarget::Malwares","WpTarget/Malwares.html#method-i-has_malwares-3F","(malwares_file_path = nil)",""],["has_options?","WpscanOptions","WpscanOptions.html#method-i-has_options-3F","()",""],["has_plugin?","WpTarget","WpTarget.html#method-i-has_plugin-3F","(name, version = nil)","
The version is not yet considerated\n
@param [ String ] name @param [ String ] version\n
This file comes by default in a wordpress installation, and …\n"],["has_robots?","WebSite","WebSite.html#method-i-has_robots-3F","()","
Checks if a robots.txt file exists\n"],["has_simple_login_lockdown_protection?","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-has_simple_login_lockdown_protection-3F","()","
Compare the body hash to error_404_hash and homepage_hash returns true if\nthey are different, false otherwise …\n"],["has_xml_rpc?","WebSite","WebSite.html#method-i-has_xml_rpc-3F","()",""],["help","Object","Object.html#method-i-help","()","
Compares two version strings. Returns true if version1 is equal to version2\nor when version1 is older …\n"],["item_class","WpItems::Detectable","WpItems/Detectable.html#method-i-item_class","()","
@return [ Class ]\n"],["item_xpath","WpPlugins::Detectable","WpPlugins/Detectable.html#method-i-item_xpath","()","
Will load the options from ARGV return WpscanOptions\n"],["load_from_xml_node","Vulnerability","Vulnerability.html#method-c-load_from_xml_node","(xml_node)","
Git has not a revsion number like SVN, so we will take the 7 first chars of\nthe last commit hash\n"],["local_revision_number","SvnUpdater","SvnUpdater.html#method-i-local_revision_number","()",""],["local_revision_number","Updater","Updater.html#method-i-local_revision_number","()",""],["login_from_author_pattern","WpUser::Existable","WpUser/Existable.html#method-c-login_from_author_pattern","(text)","
@param [ String ] text\n
@return [ String ] The login\n"],["login_from_body","WpUser::Existable","WpUser/Existable.html#method-c-login_from_body","(body)","
@param [ String ] body\n
@return [ String ] The login\n"],["login_protection_plugin","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-login_protection_plugin","()","
Checks if a login protection plugin is enabled\ncode.google.com/p/wpscan/issues/detail?id=111 return a …\n"],["login_request","WpUser::BruteForcable","WpUser/BruteForcable.html#method-i-login_request","(password, redirect_url)","
return array of string (url of malwares found)\n"],["malwares_file","WpTarget::Malwares","WpTarget/Malwares.html#method-c-malwares_file","(malwares_file_path)",""],["max_threads","Browser::Options","Browser/Options.html#method-i-max_threads","()","
@return [ String ] The url to the metasploit module page\n"],["multisite?","WpTarget::WpRegistrable","WpTarget/WpRegistrable.html#method-i-multisite-3F","()","
TODO : add a last ‘/ to repo_directory if it’s not present\n"],["new","Vulnerability","Vulnerability.html#method-c-new","(title, type, references, metasploit_modules = [], fixed_in = '')","
@param [ String ] title The title of the vulnerability @param [ String ]\ntype The type of the vulnerability …\n"],["new","WebSite","WebSite.html#method-c-new","(site_url)",""],["new","WpItem","WpItem.html#method-c-new","(target_base_uri, options = {})","
@param [ URI ] target_base_uri @param [ Hash ] options See allowed_option\n
Checks if the remote website is up.\n"],["option_to_instance_variable_setter","WpscanOptions","WpscanOptions.html#method-c-option_to_instance_variable_setter","(option)",""],["option_to_symbol","CustomOptionParser","CustomOptionParser.html#method-c-option_to_symbol","(option)","
Variable, such as $wp-plugins$ and $wp-content$ can be used and will be\nreplace by their …\n"],["plugin_url","WpTarget::WpLoginProtection","WpTarget/WpLoginProtection.html#method-i-plugin_url","(plugin_name)",""],["plugin_vulns_count","StatsPlugin","StatsPlugin.html#method-i-plugin_vulns_count","(file=PLUGINS_VULNS_FILE)",""],["post","Browser::Actions","Browser/Actions.html#method-i-post","(url, params = {})","
Override for puts to enable logging\n"],["read_entry","CacheFileStore","CacheFileStore.html#method-i-read_entry","(key)",""],["readme_url","WpItem::Infos","WpItem/Infos.html#method-i-readme_url","()","
@return [ String,nil ] The url to the readme file, nil if not found\n"],["readme_url","WpTarget::WpReadme","WpTarget/WpReadme.html#method-i-readme_url","()","
@return [ String ] The readme URL\n"],["red","Object","Object.html#method-i-red","(text)",""],["redefine_constant","Object","Object.html#method-i-redefine_constant","(constant, value)",""],["redirection","WebSite","WebSite.html#method-i-redirection","(url = nil)","
See if the remote url returns 30x redirect This method is recursive Return\na string with the redirection …\n"],["register","Plugins","Plugins.html#method-i-register","(*plugins)","
TODO : add an exclude pattern ?\n"],["reset","Browser","Browser.html#method-c-reset","()",""],["reset_head","GitUpdater","GitUpdater.html#method-i-reset_head","()",""],["results","CustomOptionParser","CustomOptionParser.html#method-i-results","(argv = default_argv)","
Will try to find the rss url in the homepage Only the first one found iw\nreturned\n"],["run","CheckerPlugin","CheckerPlugin.html#method-i-run","(options = {})",""],["run","ListGeneratorPlugin","ListGeneratorPlugin.html#method-i-run","(options = {})",""],["run","Plugin","Plugin.html#method-i-run","(options = {})",""],["run","StatsPlugin","StatsPlugin.html#method-i-run","(options = {})",""],["save","GenerateList","GenerateList.html#method-i-save","(items)","
Save the file\n"],["scan_url","WpVersion::Findable","WpVersion/Findable.html#method-i-scan_url","(target_uri, pattern, path = nil)","
Returns the first match of <pattern> in the body of the url\n
@param [ URI ] target_uri @param [ …\n"],["search_replace_db_2_exists?","WpTarget","WpTarget.html#method-i-search_replace_db_2_exists-3F","()","
Script for replacing strings in wordpress databases reveals databse\ncredentials after hitting submit …\n"],["set","TyphoeusCache","TyphoeusCache.html#method-i-set","(request, response)",""],["set_file_name","GenerateList","GenerateList.html#method-i-set_file_name","(type)",""],["set_option_from_cli","WpscanOptions","WpscanOptions.html#method-i-set_option_from_cli","(cli_option, cli_value)","
@return [ String ] The url to the theme stylesheet\n"],["targets_items","WpItems::Detectable","WpItems/Detectable.html#method-i-targets_items","(wp_target, options = {})","
@return [ URI ] The uri to the WpItem, with the path if present\n"],["uri","WpUser","WpUser.html#method-i-uri","()","
@return [ URI ] The uri to the auhor page\n"],["url","WebSite","WebSite.html#method-i-url","()",""],["url","WpItem","WpItem.html#method-i-url","()","
@return [ String ] The url to the WpItem\n"],["url=","WebSite","WebSite.html#method-i-url-3D","(url)",""],["url=","WpscanOptions","WpscanOptions.html#method-i-url-3D","(url)",""],["url_is_200?","WpItem::Infos","WpItem/Infos.html#method-i-url_is_200-3F","(url)","
Checks if the url status code is 200\n
@param [ String ] url\n
@return [ Boolean ] True if the url status is …\n"],["usage","Object","Object.html#method-i-usage","()","
@return [ String ] The user agent, according to the user_agent_mode\n"],["user_agent_mode=","Browser::Options","Browser/Options.html#method-i-user_agent_mode-3D","(ua_mode)","
Sets the user_agent_mode, which can be one of the following:\n\n
Get the version from the body of an invalid request See\ncode.google.com/p/timthumb/source/browse/trunk/timthumb.php#426 …\n"],["version_pattern","WpVersion::Findable","WpVersion/Findable.html#method-i-version_pattern","()","
Used to check if the version is correct: must contain at least one dot.\n
@return [ String ] The path to the file containing vulnerabilities\n"],["vulns_file","WpPlugins::Detectable","WpPlugins/Detectable.html#method-i-vulns_file","()","
@return [ String ] The path to the file containing vulnerabilities\n"],["vulns_file","WpThemes::Detectable","WpThemes/Detectable.html#method-i-vulns_file","()","
@return [ String ] The path to the file containing vulnerabilities\n"],["vulns_xpath","WpPlugin::Vulnerable","WpPlugin/Vulnerable.html#method-i-vulns_xpath","()","
check if the target website is actually running wordpress.\n"],["wp_content_dir","WpTarget::WpCustomDirectories","WpTarget/WpCustomDirectories.html#method-i-wp_content_dir","()","
@return [ String ] The wp-content directory\n"],["wp_plugins_dir","WpTarget::WpCustomDirectories","WpTarget/WpCustomDirectories.html#method-i-wp_plugins_dir","()","
@return [ String ] The wp-plugins directory\n"],["wp_plugins_dir_exists?","WpTarget::WpCustomDirectories","WpTarget/WpCustomDirectories.html#method-i-wp_plugins_dir_exists-3F","()","
See www.hixie.ch/specs/pingback/pingback-1.0#TOC2.3\n"],["xml_rpc_url_from_body","WebSite","WebSite.html#method-i-xml_rpc_url_from_body","()",""],["xml_rpc_url_from_headers","WebSite","WebSite.html#method-i-xml_rpc_url_from_headers","()",""],["CREDITS","","CREDITS.html","","
*CREDITS*\n
This file is to give credit to WPScan’s contributors. If you feel your name\nshould be in here, …\n"],["Gemfile","","Gemfile.html","","
source “rubygems.org”\n
# Seg fault in Typhoeus 0.6.3 (and ethon > 0.5.11) with rspec gem\n“typhoeus”, …\n"],["Gemfile.lock","","Gemfile_lock.html","","
diff --git a/doc_yard/CacheFileStore.html b/doc_yard/CacheFileStore.html
index 0288911e..aebc345c 100644
--- a/doc_yard/CacheFileStore.html
+++ b/doc_yard/CacheFileStore.html
@@ -604,7 +604,7 @@ Marshal does not need any "require"
# File 'lib/common/version_compare.rb', line 12
+
+defself.is_newer_or_same?(version1,version2)
+ returntrueif(version1==version2)
+ # Both versions must be set
+returnfalseunless(version1andversion2)
+ returnfalseif(version1.empty?orversion2.empty?)
+ begin
+ returntrueif(Gem::Version.new(version1)<Gem::Version.new(version2))
+ rescueArgumentError=>e
+ # Example: ArgumentError: Malformed version number string a
+returnfalseife.message=~/Malformed version number string/
+ raise
+ end
+ returnfalse
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc_yard/Vulnerabilities.html b/doc_yard/Vulnerabilities.html
index 6c6a8485..6c1a0126 100644
--- a/doc_yard/Vulnerabilities.html
+++ b/doc_yard/Vulnerabilities.html
@@ -151,7 +151,7 @@
# File 'lib/wpscan/wpscan_options.rb', line 37definitializeACCESSOR_OPTIONS.eachdo|option|
@@ -756,13 +779,13 @@ any remaining '-' by '_'
-247
-248
-249
-250
+253
+254
+255
+256
-
# File 'lib/wpscan/wpscan_options.rb', line 247
+
# File 'lib/wpscan/wpscan_options.rb', line 253defself.clean_option(option)cleaned_option=option.gsub(/^--?/,'')
@@ -800,11 +823,6 @@ any remaining '-' by '_'
# File 'lib/wpscan/wpscan_options.rb', line 221defself.get_opt_longGetoptLong.new(
@@ -843,7 +867,8 @@ any remaining '-' by '_'
['--wp-plugins-dir',GetoptLong::REQUIRED_ARGUMENT],['--config-file','-c',GetoptLong::REQUIRED_ARGUMENT],['--exclude-content-based',GetoptLong::REQUIRED_ARGUMENT],
- ['--basic-auth',GetoptLong::REQUIRED_ARGUMENT]
+ ['--basic-auth',GetoptLong::REQUIRED_ARGUMENT],
+ ['--debug-output',GetoptLong::NO_ARGUMENT])end
@@ -888,12 +913,12 @@ any remaining '-' by '_'
-238
-239
-240
+244
+245
+246
-
# File 'lib/wpscan/wpscan_options.rb', line 238
+
# File 'lib/wpscan/wpscan_options.rb', line 244defself.is_long_option?(option)ACCESSOR_OPTIONS.include?(:#{WpscanOptions.clean_option(option)}")
@@ -929,20 +954,20 @@ any remaining '-' by '_'
-149
-150
-151
-152
-153
154
155
156
157
158
-159
+159
+160
+161
+162
+163
+164
-
# File 'lib/wpscan/wpscan_options.rb', line 149
+
# File 'lib/wpscan/wpscan_options.rb', line 154defself.load_from_argumentswpscan_options=WpscanOptions.new
@@ -975,15 +1000,15 @@ any remaining '-' by '_'
-252
-253
-254
-255
-256
-257
+258
+259
+260
+261
+262
+263
-
# File 'lib/wpscan/wpscan_options.rb', line 252
+
# File 'lib/wpscan/wpscan_options.rb', line 258defself.option_to_instance_variable_setter(option)cleaned_option=WpscanOptions.clean_option(option)
@@ -1017,13 +1042,13 @@ any remaining '-' by '_'
-124
125
126
-127
+127
+128
-
# File 'lib/wpscan/wpscan_options.rb', line 124
+
# File 'lib/wpscan/wpscan_options.rb', line 125defbasic_auth=(basic_auth)raise'Invalid basic authentication format, login:password expected'ifbasic_auth.index(':').nil?
@@ -1032,6 +1057,36 @@ any remaining '-' by '_'
# File 'lib/wpscan/wpscan_options.rb', line 130
+
+defdebug_output=(debug_output)
+ Typhoeus::Config.verbose=debug_output
+end
+
+
+
@@ -1049,16 +1104,16 @@ any remaining '-' by '_'
-92
93
94
95
96
97
-98
+98
+99
-
# File 'lib/wpscan/wpscan_options.rb', line 92
+
# File 'lib/wpscan/wpscan_options.rb', line 93defenumerate_all_plugins=(enumerate_all_plugins)ifenumerate_all_plugins===trueand(@enumerate_plugins===trueor@enumerate_only_vulnerable_plugins===true)
@@ -1087,16 +1142,16 @@ any remaining '-' by '_'
-116
117
118
119
120
121
-122
+122
+123
-
# File 'lib/wpscan/wpscan_options.rb', line 116
+
# File 'lib/wpscan/wpscan_options.rb', line 117defenumerate_all_themes=(enumerate_all_themes)ifenumerate_all_themes===trueand(@enumerate_themes===trueor@enumerate_only_vulnerable_themes===true)
@@ -1125,16 +1180,16 @@ any remaining '-' by '_'
-84
85
86
87
88
89
-90
+90
+91
-
# File 'lib/wpscan/wpscan_options.rb', line 84
+
# File 'lib/wpscan/wpscan_options.rb', line 85defenumerate_only_vulnerable_plugins=(enumerate_only_vulnerable_plugins)ifenumerate_only_vulnerable_plugins===trueand(@enumerate_all_plugins===trueor@enumerate_plugins===true)
@@ -1163,16 +1218,16 @@ any remaining '-' by '_'
-108
109
110
111
112
113
-114
+114
+115
-
# File 'lib/wpscan/wpscan_options.rb', line 108
+
# File 'lib/wpscan/wpscan_options.rb', line 109defenumerate_only_vulnerable_themes=(enumerate_only_vulnerable_themes)ifenumerate_only_vulnerable_themes===trueand(@enumerate_all_themes===trueor@enumerate_themes===true)
@@ -1216,11 +1271,6 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-184
-185
-186
-187
-188
189
190
191
@@ -1244,10 +1294,15 @@ href="http://1-10">u will enumerate usernames from 1 to 10
209
210
211
-212
+212
+213
+214
+215
+216
+217
-
# File 'lib/wpscan/wpscan_options.rb', line 184
+
# File 'lib/wpscan/wpscan_options.rb', line 189defenumerate_options_from_string(value)# Usage of self is mandatory because there are overridden setters
@@ -1298,16 +1353,16 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-76
77
78
79
80
81
-82
+82
+83
-
# File 'lib/wpscan/wpscan_options.rb', line 76
+
# File 'lib/wpscan/wpscan_options.rb', line 77defenumerate_plugins=(enumerate_plugins)ifenumerate_plugins===trueand(@enumerate_all_plugins===trueor@enumerate_only_vulnerable_plugins===true)
@@ -1336,16 +1391,16 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-100
101
102
103
104
105
-106
+106
+107
-
# File 'lib/wpscan/wpscan_options.rb', line 100
+
# File 'lib/wpscan/wpscan_options.rb', line 101defenumerate_themes=(enumerate_themes)ifenumerate_themes===trueand(@enumerate_all_themes===trueor@enumerate_only_vulnerable_themes===true)
@@ -1396,12 +1451,12 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-129
-130
-131
+134
+135
+136
-
# File 'lib/wpscan/wpscan_options.rb', line 129
+
# File 'lib/wpscan/wpscan_options.rb', line 134defhas_options?!to_h.empty?
@@ -1426,16 +1481,16 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-60
61
62
63
64
65
-66
+66
+67
-
# File 'lib/wpscan/wpscan_options.rb', line 60
+
# File 'lib/wpscan/wpscan_options.rb', line 61defproxy=(proxy)ifproxy.index(':')==nil
@@ -1464,16 +1519,16 @@ href="http://1-10">u will enumerate usernames from 1 to 10
-68
69
70
71
72
73
-74
+74
+75
-
# File 'lib/wpscan/wpscan_options.rb', line 68
+
# File 'lib/wpscan/wpscan_options.rb', line 69defproxy_auth=(auth)ifauth.index(':')==nil
@@ -1514,11 +1569,6 @@ value