diff --git a/doc_rdoc/Array.html b/doc_rdoc/Array.html index fe17cc7b..f2325be0 100644 --- a/doc_rdoc/Array.html +++ b/doc_rdoc/Array.html @@ -1,338 +1,330 @@ - - - + + + - + -class Array - RDoc Documentation + Class: Array - - - - - - - - - - + + + + + + - - -
-

class Array

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- _grep_(regexp) +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ -
+ + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Array

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/hacks.rb, line 19
+          
+ _grep_(regexp) + click to toggle source +
+ + +
+ +

Fix for grep with symbols in ruby <= 1.8.7

+ + + +
+
+# File lib/common/hacks.rb, line 19
 def _grep_(regexp)
   matches = []
   self.each do |value|
@@ -341,58 +333,62 @@
   end
   matches
 end
-
+
+ +
+ + +
+ Also aliased as: grep +
-
- -
- Also aliased as: grep -
- + +
- -
+ +
+ + +
+ grep(regexp) + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: _grep_ +
+ +
+ + +
-
- -
- grep(regexp) - -
- - -
- - - - - - -
- - - - -
- Alias for: _grep_ -
- -
- - -
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Browser.html b/doc_rdoc/Browser.html index 5b790593..9c0f3137 100644 --- a/doc_rdoc/Browser.html +++ b/doc_rdoc/Browser.html @@ -1,548 +1,550 @@ - - - + + + - + -class Browser - RDoc Documentation + Class: Browser - - - - - - - - - - + + + + + + - - -
-

class Browser

- -
- -
- - - - -
- - - - - - -
-

Constants

-
- -
OPTIONS - -
- - -
-
- - - - -
-

Attributes

- - -
-
- cache_dir[R] -
- -
- - - +
+ - -
-
- config_file[R] -
-
+ +
+ +
+ + +
+

Parent

+ - -
-
-
- hydra[R] -
-
- - - -
+ + + + +
+

Namespace

+
-
- - - -
-

Public Class Methods

+ + +
+

Methods

+ +
+ - -
+ + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Browser

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
OPTIONS
- click to toggle source +
+ +
+
+ + + + +
+

Attributes

+ + +
+ + +
+ cache_dir[R] +
+ +
+ + + +
- -
+
+ -

@param [ Hash ] options

+
+ config_file[R] +
+ +
+ + + +
+
+ +
+ + +
+ hydra[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ instance(options = {}) + click to toggle source +
+ + +
+ +

@param [ Hash ] options

@return [ Browser ]

- - + - -
-
# File lib/common/browser.rb, line 50
+            
+            
+
+# File lib/common/browser.rb, line 50
 def self.instance(options = {})
   unless @@instance
     @@instance = new(options)
   end
   @@instance
 end
-
- -
+
+ +
- - - -
- - -
- -
- reset() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/browser.rb, line 57
+        
+ + +
+ + + +
+ reset() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/browser.rb, line 57
 def self.reset
   @@instance = nil
 end
-
+
+ +
+ -
- - - -
+ +
+ +
- - -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- forge_request(url, params = {}) - - click to toggle source - -
- + +
+ -
-

@param [ String ] url @param [ Hash ] params

+
+ forge_request(url, params = {}) + click to toggle source +
+ + +
+ +

@param [ String ] url @param [ Hash ] params

@return [ Typhoeus::Request ]

- - + - -
-
# File lib/common/browser.rb, line 90
+            
+            
+
+# File lib/common/browser.rb, line 90
 def forge_request(url, params = {})
   Typhoeus::Request.new(url, merge_request_params(params))
 end
-
- -
+
+ +
- - - -
- - -
- -
- load_config(config_file = nil) - click to toggle source - -
- -
-

If an option was set but is not in the new #config_file it’s value is +

+ + +
+ + + +
+ load_config(config_file = nil) + click to toggle source +
+ + +
+ +

If an option was set but is not in the new config_file it’s value is kept

@param [ String ] #config_file

+href="Browser.html#attribute-i-config_file">config_file

@return [ void ]

- - + - -
-
# File lib/common/browser.rb, line 68
+            
+            
+
+# File lib/common/browser.rb, line 68
 def load_config(config_file = nil)
   @config_file = config_file || @config_file
 
@@ -560,38 +562,38 @@ href="Browser.html#attribute-i-config_file">#config_file

end end end
-
- -
+
+ +
- - - -
- - -
- -
- merge_request_params(params = {}) - click to toggle source - -
- -
-

@param [ Hash ] params

+
+ + +
+ + + +
+ merge_request_params(params = {}) + click to toggle source +
+ + +
+ +

@param [ Hash ] params

@return [ Hash ]

- - + - -
-
# File lib/common/browser.rb, line 97
+            
+            
+
+# File lib/common/browser.rb, line 97
 def merge_request_params(params = {})
   params = Browser.append_params_header_field(
     params,
@@ -629,26 +631,29 @@ href="Browser.html#attribute-i-config_file">#config_file

params end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Browser/Actions.html b/doc_rdoc/Browser/Actions.html index 2af45299..690e8b9f 100644 --- a/doc_rdoc/Browser/Actions.html +++ b/doc_rdoc/Browser/Actions.html @@ -1,474 +1,504 @@ - - - + + + - + -module Browser::Actions - RDoc Documentation + Module: Browser::Actions - - - - - - - - - - + + + + + + - - -
-

module Browser::Actions

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- get(url, params = {}) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Browser::Actions

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ get(url, params = {}) + click to toggle source +
+ + +
+ +

@param [ String ] url @param [ Hash ] params

@return [ Typhoeus::Response ]

- - + - -
-
# File lib/common/browser/actions.rb, line 9
+            
+            
+
+# File lib/common/browser/actions.rb, line 9
 def get(url, params = {})
   process(url, params.merge(method: :get))
 end
-
- -
+
+ +
- - - -
- - -
- -
- get_and_follow_location(url, params = {}) - click to toggle source - -
- -
-

@param [ String ] url @param [ Hash ] params

+
+ + +
+ + + +
+ get_and_follow_location(url, params = {}) + click to toggle source +
+ + +
+ +

@param [ String ] url @param [ Hash ] params

@return [ Typhoeus::Response ]

- - + - -
-
# File lib/common/browser/actions.rb, line 25
+            
+            
+
+# File lib/common/browser/actions.rb, line 33
 def get_and_follow_location(url, params = {})
   params[:maxredirs] ||= 2
 
   get(url, params.merge(followlocation: true))
 end
-
- -
+
+ +
- - - -
- - -
- -
- post(url, params = {}) - click to toggle source - -
- -
-

@param [ String ] url @param [ Hash ] params

+
+ + +
+ + + +
+ head(url, params = {}) + click to toggle source +
+ + +
+ +

@param [ String ] url @param [ Hash ] params

@return [ Typhoeus::Response ]

- + + + +
+
+# File lib/common/browser/actions.rb, line 25
+def head(url, params = {})
+  process(url, params.merge(method: :head))
+end
+
+ +
+ -
-
# File lib/common/browser/actions.rb, line 17
+        
+ + +
+ + + +
+ post(url, params = {}) + click to toggle source +
+ + +
+ +

@param [ String ] url @param [ Hash ] params

+ +

@return [ Typhoeus::Response ]

+ + + +
+
+# File lib/common/browser/actions.rb, line 17
 def post(url, params = {})
   process(url, params.merge(method: :post))
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- process(url, params) - - click to toggle source - -
- + +
+ -
-

@param [ String ] url @param [ Hash ] params

+
+ process(url, params) + click to toggle source +
+ + +
+ +

@param [ String ] url @param [ Hash ] params

@return [ Typhoeus::Response ]

- - + - -
-
# File lib/common/browser/actions.rb, line 37
+            
+            
+
+# File lib/common/browser/actions.rb, line 45
 def process(url, params)
   Typhoeus::Request.new(url, Browser.instance.merge_request_params(params)).run
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Browser/Options.html b/doc_rdoc/Browser/Options.html index 3cbcc87c..f7cc60fe 100644 --- a/doc_rdoc/Browser/Options.html +++ b/doc_rdoc/Browser/Options.html @@ -1,451 +1,461 @@ - - - + + + - + -module Browser::Options - RDoc Documentation + Module: Browser::Options - - - - - - - - - - + + + + + + - - -
-

module Browser::Options

- -
- -
- - - - -
- - - - - - -
-

Constants

-
+
-
USER_AGENT_MODES - -
- - -
-
- +
- -
-

Attributes

+ + +
+ -
-
- available_user_agents[RW] -
-
- - - -
-
-
-
- basic_auth[R] -
- -
+ +
+

Constants

+
- - -
-
- -
-
- cache_ttl[RW] -
- -
- - - -
-
- -
-
- proxy[R] -
- -
- - - -
-
- -
-
- proxy_auth[R] -
- -
- - - -
-
- -
-
- user_agent[W] -
- -
- - - -
-
- -
-
- user_agent_mode[R] -
- -
- - - -
-
- -
- - - - -
-

Public Instance Methods

- - -
- -
- basic_auth=(auth) +
USER_AGENT_MODES
- click to toggle source +
+ + +
+ + + + +
+

Attributes

+ + +
+ + + + +
+ available_user_agents[RW] +
+ +
+ + + +
- -
+
+ -

Sets the Basic Authentification credentials Accepted format:

+
+ basic_auth[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ cache_ttl[RW] +
+ +
+ + + +
+
+ +
+ + +
+ proxy[R] +
+ +
+ + + +
+
+ +
+ + +
+ proxy_auth[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ user_agent[W] +
+ +
+ + + +
+
+ +
+ + +
+ user_agent_mode[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ basic_auth=(auth) + click to toggle source +
+ + +
+ +

Sets the Basic Authentification credentials Accepted format:

login:password
 Basic base_64_encoded
@@ -453,12 +463,12 @@ Basic base_64_encoded

@param [ String ] auth

@return [ void ]

- - + - -
-
# File lib/common/browser/options.rb, line 19
+            
+            
+
+# File lib/common/browser/options.rb, line 19
 def basic_auth=(auth)
   if auth.index(':')
     @basic_auth = "Basic #{Base64.encode64(auth).chomp}"
@@ -468,69 +478,69 @@ Basic base_64_encoded
raise 'Invalid basic authentication format, "login:password" or "Basic base_64_encoded" expected' end end
-
- -
+
+ +
- - - -
- - -
- -
- max_threads() - - click to toggle source - -
- - -
- -

@return [ Integer ]

- -
-
# File lib/common/browser/options.rb, line 30
+        
+ + +
+ + + +
+ max_threads() + click to toggle source +
+ + +
+ +

@return [ Integer ]

+ + + +
+
+# File lib/common/browser/options.rb, line 30
 def max_threads
   @max_threads || 1
 end
-
- -
+
+ +
- - - -
- - -
- -
- max_threads=(threads) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/browser/options.rb, line 34
+        
+ + +
+ + + +
+ max_threads=(threads) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/browser/options.rb, line 34
 def max_threads=(threads)
   if threads.is_a?(Integer) && threads > 0
     @max_threads = threads
@@ -539,30 +549,30 @@ Basic base_64_encoded
raise 'max_threads must be an Integer > 0' end end -
- -
+
+ +
- - - -
- - -
- -
- proxy=(proxy) - click to toggle source - -
- -
-

Sets the proxy Accepted format:

+
+ + +
+ + + +
+ proxy=(proxy) + click to toggle source +
+ + +
+ +

Sets the proxy Accepted format:

 [protocol://]host:post
 
@@ -572,12 +582,12 @@ Supported protocols:
 

@param [ String ] proxy

@return [ void ]

- - + - -
-
# File lib/common/browser/options.rb, line 89
+            
+            
+
+# File lib/common/browser/options.rb, line 89
 def proxy=(proxy)
   if proxy.index(':')
     @proxy = proxy
@@ -585,30 +595,30 @@ Supported protocols:
     raise 'Invalid proxy format. Should be [protocol://]host:port.'
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- proxy_auth=(auth) - click to toggle source - -
- -
-

Sets the proxy credentials Accepted format:

+
+ + +
+ + + +
+ proxy_auth=(auth) + click to toggle source +
+ + +
+ +

Sets the proxy credentials Accepted format:

username:password
 { proxy_username: username, :proxy_password: password }
@@ -616,12 +626,12 @@ Supported protocols:

@param [ String ] auth

@return [ void ]

- - + - -
-
# File lib/common/browser/options.rb, line 105
+            
+            
+
+# File lib/common/browser/options.rb, line 105
 def proxy_auth=(auth)
   unless auth.nil?
     if auth.is_a?(Hash) && auth.include?(:proxy_username) && auth.include?(:proxy_password)
@@ -633,37 +643,37 @@ Supported protocols:
     end
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- user_agent() - - click to toggle source - -
- - -
- -

@return [ String ] The user agent, according to the #user_agent_mode

- -
-
# File lib/common/browser/options.rb, line 67
+        
+ + +
+ + + +
+ user_agent() + click to toggle source +
+ + +
+ +

@return [ String ] The user agent, according to the user_agent_mode

+ + + +
+
+# File lib/common/browser/options.rb, line 67
 def user_agent
   case @user_agent_mode
   when 'semi-static'
@@ -675,48 +685,49 @@ href="Options.html#attribute-i-user_agent_mode">#user_agent_mode

end @user_agent end
-
- -
+
+ +
- - - -
- - -
- -
- user_agent_mode=(ua_mode) - click to toggle source - -
- -
-

Sets the #user_agent_mode, which +

+ + +
+ + + +
+ user_agent_mode=(ua_mode) + click to toggle source +
+ + +
+ +

Sets the user_agent_mode, which can be one of the following:

static:      The UA is defined by the user, and will be the same in each requests
 semi-static: The UA is randomly chosen at the first request, and will not change
 random:      UA randomly chosen each request
-

UA are from @available_user_agents

+

UA are from @available_user_agents

@param [ String ] ua_mode

@return [ void ]

- - + - -
-
# File lib/common/browser/options.rb, line 53
+            
+            
+
+# File lib/common/browser/options.rb, line 53
 def user_agent_mode=(ua_mode)
   ua_mode ||= 'static'
 
@@ -729,77 +740,77 @@ random:      UA randomly chosen each request
raise "Unknow user agent mode : '#{ua_mode}'" end end
-
+
+ +
+ -
- - - -
+ + + + -
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- invalid_proxy_auth_format() - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/common/browser/options.rb, line 119
+          
+ invalid_proxy_auth_format() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/browser/options.rb, line 119
 def invalid_proxy_auth_format
   'Invalid proxy auth format, expected username:password or {proxy_username: username, proxy_password: password}'
 end
-
- -
+
+ +
- - - -
- - -
- -
- override_config(options = {}) - click to toggle source - -
- -
-

Override with the options if they are set @param [ Hash ] options

+
+ + +
+ + + +
+ override_config(options = {}) + click to toggle source +
+ + +
+ +

Override with the options if they are set @param [ Hash ] options

@return [ void ]

- - + - -
-
# File lib/common/browser/options.rb, line 127
+            
+            
+
+# File lib/common/browser/options.rb, line 127
 def override_config(options = {})
   options.each do |option, value|
     if value != nil and OPTIONS.include?(option)
@@ -807,26 +818,29 @@ random:      UA randomly chosen each request
end end end
-
+
+ +
+ -
- - - -
+ +
+ + -
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/CREDITS.html b/doc_rdoc/CREDITS.html index 2a255b8d..76d6777a 100644 --- a/doc_rdoc/CREDITS.html +++ b/doc_rdoc/CREDITS.html @@ -1,259 +1,244 @@ - + + - + - + -CREDITS - RDoc Documentation + File: CREDITS [RDoc Documentation] - - - - - - - - - - + + + + + + - -
- -

*CREDITS*

+
+ +

*CREDITS*

This file is to give credit to WPScan’s contributors. If you feel your name should be in here, email ryandewhurst at gmail.

@@ -272,13 +257,13 @@ callumpember at gmail.com g0tmi1k - Additional timthumb checks + bug reports. Melvin Lammerts - Reported a couple of fake vulnerabilities - melvin at 12k.nl Paolo Perego - @thesp0nge - Basic authentication

-
+
- - - +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + diff --git a/doc_rdoc/CacheFileStore.html b/doc_rdoc/CacheFileStore.html index e52e115b..cd089aae 100644 --- a/doc_rdoc/CacheFileStore.html +++ b/doc_rdoc/CacheFileStore.html @@ -1,382 +1,378 @@ - - - + + + - + -class CacheFileStore - RDoc Documentation + Class: CacheFileStore - - - - - - - - - - + + + + + + - - -
-

class CacheFileStore

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- serializer[R] -
- -
- - - +
+
+

In Files

+
- -
-
- storage_path[R] -
-
+ +
+ +
+ + +
+

Parent

+ - -
-
- - - -
-

Public Class Methods

+ - -
+ + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CacheFileStore

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ - click to toggle source +
+ serializer[R] +
+ +
+ + +
- -
+
+ -

The serializer must have the 2 methods .load and .dump

+
+ storage_path[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(storage_path, serializer = Marshal) + click to toggle source +
+ + +
+ +

The serializer must have the 2 methods .load and .dump

(Marshal and YAML have them)

YAML is Human Readable, contrary to Marshal which store in a binary format Marshal does not need any “require”

- - + - -
-
# File lib/common/cache_file_store.rb, line 19
+            
+            
+
+# File lib/common/cache_file_store.rb, line 19
 def initialize(storage_path, serializer = Marshal)
   @storage_path = File.expand_path(storage_path)
   @serializer = serializer
@@ -387,110 +383,110 @@ Marshal does not need any “require”

Dir.mkdir(@storage_path) end end
-
+
+ +
+ -
- - - -
+ +
+ +
- - -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- clean() - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/common/cache_file_store.rb, line 30
+          
+ clean() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/cache_file_store.rb, line 30
 def clean
   Dir[File.join(@storage_path, '*')].each do |f|
     File.delete(f) unless File.symlink?(f)
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- get_entry_file_path(key) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/cache_file_store.rb, line 52
+        
+ + +
+ + + +
+ get_entry_file_path(key) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/cache_file_store.rb, line 56
 def get_entry_file_path(key)
   File::join(@storage_path, key)
 end
-
- -
+
+ +
- - - -
- - -
- -
- read_entry(key) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/cache_file_store.rb, line 36
+        
+ + +
+ + + +
+ read_entry(key) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/cache_file_store.rb, line 36
 def read_entry(key)
   entry_file_path = get_entry_file_path(key)
 
@@ -498,63 +494,70 @@ Marshal does not need any “require”

return @serializer.load(File.read(entry_file_path)) end end
-
- -
+
+ +
- - - -
- - -
- -
- write_entry(key, data_to_store, cache_ttl) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/cache_file_store.rb, line 44
+        
+ + +
+ + + +
+ write_entry(key, data_to_store, cache_ttl) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/cache_file_store.rb, line 44
 def write_entry(key, data_to_store, cache_ttl)
   if cache_ttl > 0
     File.open(get_entry_file_path(key), 'w') do |f|
-      f.write(@serializer.dump(data_to_store))
+      begin
+        f.write(@serializer.dump(data_to_store))
+      rescue
+        nil # spec fix for "can't dump hash with default proc" when stub_request with  response headers
+      end
     end
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/CheckerPlugin.html b/doc_rdoc/CheckerPlugin.html index e719dec3..ac1c4242 100644 --- a/doc_rdoc/CheckerPlugin.html +++ b/doc_rdoc/CheckerPlugin.html @@ -1,347 +1,334 @@ - - - + + + - + -class CheckerPlugin - RDoc Documentation + Class: CheckerPlugin - - - - - - - - - - + + + + + + - - -
-

class CheckerPlugin

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- new() +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ -
+ + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CheckerPlugin

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/wpstools/plugins/checker/checker_plugin.rb, line 4
+          
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/checker/checker_plugin.rb, line 4
 def initialize
   super(author: 'WPScanTeam - @erwanlr')
 
@@ -350,42 +337,42 @@
     ['--check-local-vulnerable-files LOCAL_DIRECTORY', '--clvf', 'Perform a recursive scan in the LOCAL_DIRECTORY to find vulnerable files or shells']
   )
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- check_local_vulnerable_files(dir_to_scan) - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpstools/plugins/checker/checker_plugin.rb, line 74
+          
+ check_local_vulnerable_files(dir_to_scan) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/checker/checker_plugin.rb, line 74
 def check_local_vulnerable_files(dir_to_scan)
   if Dir::exist?(dir_to_scan)
     xml_file               = LOCAL_FILES_FILE
@@ -437,40 +424,40 @@
     puts "The supplied directory '#{dir_to_scan}' does not exist"
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- check_vuln_ref_urls() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/checker/checker_plugin.rb, line 23
+        
+ + +
+ + + +
+ check_vuln_ref_urls() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/checker/checker_plugin.rb, line 23
 def check_vuln_ref_urls
   vuln_ref_files   = [PLUGINS_VULNS_FILE, THEMES_VULNS_FILE, WP_VULNS_FILE]
   error_codes      = [404, 500, 403]
-  not_found_regexp = %r{No Results Found|error 404|ID Invalid or Not Found}
+  not_found_regexp = %{No Results Found|error 404|ID Invalid or Not Found}
 
   puts '[+] Checking vulnerabilities reference urls'
 
@@ -517,36 +504,36 @@
     end
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- run(options = {}) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/checker/checker_plugin.rb, line 13
+        
+ + +
+ + + +
+ run(options = {}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/checker/checker_plugin.rb, line 13
 def run(options = {})
   if options[:check_vuln_ref_urls]
     check_vuln_ref_urls
@@ -556,26 +543,29 @@
     check_local_vulnerable_files(options[:check_local_vulnerable_files])
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/CustomOptionParser.html b/doc_rdoc/CustomOptionParser.html index b85b3b28..2b7d799a 100644 --- a/doc_rdoc/CustomOptionParser.html +++ b/doc_rdoc/CustomOptionParser.html @@ -1,410 +1,399 @@ - - - + + + - + -class CustomOptionParser - RDoc Documentation + Class: CustomOptionParser - - - - - - - - - - + + + + + + - - -
-

class CustomOptionParser

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- symbols_used[R] -
- -
- - - +
+
+

In Files

+
+ -
- +
- - -
-

Public Class Methods

- - -
+
+ + +
+

Parent

-
- new(banner = nil, width = 32, indent = ' ' * 4) + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CustomOptionParser

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ symbols_used[R] +
+ +
+ + + +
+
+ -
- - - - -
- Calls superclass method - -
- + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/common/custom_option_parser.rb, line 6
-def initialize(banner = nil, width = 32, indent = ' ' * 4)
+          
+ new(banner = nil, width = 32, indent = ' ' * 4) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/custom_option_parser.rb, line 6
+def initialize(banner = nil, width = 32, indent = ' ' * 4)
   @results         = {}
   @symbols_used    = []
   super(banner, width, indent)
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Class Methods

+
+

Protected Class Methods

- -
- -
- option_to_symbol(option) - - click to toggle source - -
- - -
- -

param Array option

- - + +
+ -
-
# File lib/common/custom_option_parser.rb, line 56
+          
+ option_to_symbol(option) + click to toggle source +
+ + +
+ +

param Array option

+ + + +
+
+# File lib/common/custom_option_parser.rb, line 56
 def self.option_to_symbol(option)
   option_name = nil
 
@@ -422,42 +411,43 @@
     raise "Could not find the option name for #{option}"
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- add(options) - - click to toggle source - -
- - -
- -

param Array(Array) or Array options

- - + +
+ -
-
# File lib/common/custom_option_parser.rb, line 14
+          
+ add(options) + click to toggle source +
+ + +
+ +

param Array(Array) or Array options

+ + + +
+
+# File lib/common/custom_option_parser.rb, line 14
 def add(options)
   if options.is_a?(Array)
     if options[0].is_a?(Array)
@@ -471,36 +461,36 @@
     raise "Options must be at least an Array, or an Array(Array). #{options.class} supplied"
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- add_option(option) - - click to toggle source - -
- - -
- -

param Array option

- -
-
# File lib/common/custom_option_parser.rb, line 29
+        
+ + +
+ + + +
+ add_option(option) + click to toggle source +
+ + +
+ +

param Array option

+ + + +
+
+# File lib/common/custom_option_parser.rb, line 29
 def add_option(option)
   if option.is_a?(Array)
     option_symbol = CustomOptionParser::option_to_symbol(option)
@@ -508,7 +498,7 @@
     if !@symbols_used.include?(option_symbol)
       @symbols_used << option_symbol
 
-      self.on(*option) do |arg|
+      self.on(*option) do |arg|
         @results[option_symbol] = arg
       end
     else
@@ -518,61 +508,64 @@
     raise "The option must be an array, #{option.class} supplied : '#{option}'"
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- results(argv = default_argv) - - click to toggle source - -
- - -
- -

return Hash

- -
-
# File lib/common/custom_option_parser.rb, line 48
+        
+ + +
+ + + +
+ results(argv = default_argv) + click to toggle source +
+ + +
+ +

return Hash

+ + + +
+
+# File lib/common/custom_option_parser.rb, line 48
 def results(argv = default_argv)
   self.parse!(argv) if @results.empty?
 
   @results
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Ethon.html b/doc_rdoc/Ethon.html deleted file mode 100644 index a626d7cb..00000000 --- a/doc_rdoc/Ethon.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - -module Ethon - RDoc Documentation - - - - - - - - - - - - - - - - -
-

module Ethon

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - - diff --git a/doc_rdoc/Ethon/Easy.html b/doc_rdoc/Ethon/Easy.html deleted file mode 100644 index 5647e1d7..00000000 --- a/doc_rdoc/Ethon/Easy.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - -class Ethon::Easy - RDoc Documentation - - - - - - - - - - - - - - - - -
-

class Ethon::Easy

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - - diff --git a/doc_rdoc/Ethon/Easy/Options.html b/doc_rdoc/Ethon/Easy/Options.html deleted file mode 100644 index 497629ad..00000000 --- a/doc_rdoc/Ethon/Easy/Options.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - -module Ethon::Easy::Options - RDoc Documentation - - - - - - - - - - - - - - - - -
-

module Ethon::Easy::Options

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- cookiefile=(value) - - click to toggle source - -
- - -
- - - - - - -
-
# File lib/common/hacks.rb, line 56
-def cookiefile=(value)
-  Curl.set_option(:cookiefile, value_for(value, :string), handle)
-end
-
- -
- - - - -
- - -
- -
- cookiejar=(value) - - click to toggle source - -
- - -
- - - - - - -
-
# File lib/common/hacks.rb, line 52
-def cookiejar=(value)
-  Curl.set_option(:cookiejar, value_for(value, :string), handle)
-end
-
- -
- - - - -
- - -
- -
- -
- - - - diff --git a/doc_rdoc/File.html b/doc_rdoc/File.html index 45205d7c..a2b309ff 100644 --- a/doc_rdoc/File.html +++ b/doc_rdoc/File.html @@ -1,362 +1,356 @@ - - - + + + - + -class File - RDoc Documentation + Class: File - - - - - - - - - - + + + + + + - - -
-

class File

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- charset(file_path) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

File

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ charset(file_path) + click to toggle source +
+ + +
+ +

@param [ String ] file_path

@return [ String ] The charset of the file

- - + - -
-
# File lib/common/hacks.rb, line 77
+            
+            
+
+# File lib/common/hacks.rb, line 63
 def self.charset(file_path)
-  %x{file --mime #{file_path}}[%r{charset=([^\n]+)\n}, 1]
+  %{file --mime #{file_path}}[%{charset=([^\n]+)\n}, 1]
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Gem.html b/doc_rdoc/Gem.html deleted file mode 100644 index 4e356b6a..00000000 --- a/doc_rdoc/Gem.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - -module Gem - RDoc Documentation - - - - - - - - - - - - - - - - -
-

module Gem

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - - diff --git a/doc_rdoc/Gemfile.html b/doc_rdoc/Gemfile.html index bc7a1a5e..f31f7b5b 100644 --- a/doc_rdoc/Gemfile.html +++ b/doc_rdoc/Gemfile.html @@ -1,281 +1,264 @@ - + + - + - + -Gemfile - RDoc Documentation + File: Gemfile [RDoc Documentation] - - - - - - - - - - + + + + + + - -
- +
+

source “rubygems.org

# Seg fault in Typhoeus 0.6.3 (and ethon > -0.5.11) with rspec gem “typhoeus”, “=0.6.2” gem “ethon”, “=0.5.10” gem -“nokogiri” gem “json” gem “terminal-table” gem “ruby-progressbar”, -“>=1.1.0”

+0.5.11) with rspec gem “typhoeus”, “>=0.6.3” gem “nokogiri” gem “json” +gem “terminal-table” gem “ruby-progressbar”, “>=1.1.0”

group :development, :test do

-
gem "webmock", ">=1.9.3"
-gem "simplecov"
-gem "rspec", :require => "spec"
-
+
gem "webmock", ">=1.9.3"
+gem "simplecov"
+gem "rspec", :require => "spec"

end

-
+
- - - +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + diff --git a/doc_rdoc/Gemfile_lock.html b/doc_rdoc/Gemfile_lock.html deleted file mode 100644 index 0bb1d738..00000000 --- a/doc_rdoc/Gemfile_lock.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - -Gemfile.lock - RDoc Documentation - - - - - - - - - - - - - - - - -
- -

GEM

- -
remote: https://rubygems.org/
-specs:
-  addressable (2.3.3)
-  crack (0.3.2)
-  diff-lcs (1.2.3)
-  ethon (0.5.10)
-    ffi (~> 1.3.0)
-    mime-types (~> 1.18)
-  ffi (1.3.1)
-  json (1.7.7)
-  mime-types (1.22)
-  multi_json (1.7.2)
-  nokogiri (1.5.9)
-  rspec (2.13.0)
-    rspec-core (~> 2.13.0)
-    rspec-expectations (~> 2.13.0)
-    rspec-mocks (~> 2.13.0)
-  rspec-core (2.13.1)
-  rspec-expectations (2.13.0)
-    diff-lcs (>= 1.1.3, < 2.0)
-  rspec-mocks (2.13.1)
-  ruby-progressbar (1.1.0)
-  simplecov (0.7.1)
-    multi_json (~> 1.0)
-    simplecov-html (~> 0.7.1)
-  simplecov-html (0.7.1)
-  terminal-table (1.4.5)
-  typhoeus (0.6.2)
-    ethon (~> 0.5.10)
-  webmock (1.11.0)
-    addressable (>= 2.2.7)
-    crack (>= 0.3.2)
- -

PLATFORMS

- -
ruby
- -

DEPENDENCIES

- -
ethon (= 0.5.10)
-json
-nokogiri
-rspec
-ruby-progressbar (>= 1.1.0)
-simplecov
-terminal-table
-typhoeus (= 0.6.2)
-webmock (>= 1.9.3)
- -
- - - - - diff --git a/doc_rdoc/GenerateList.html b/doc_rdoc/GenerateList.html index 34151e03..1a1b8782 100644 --- a/doc_rdoc/GenerateList.html +++ b/doc_rdoc/GenerateList.html @@ -1,379 +1,375 @@ - - - + + + - + -class GenerateList - RDoc Documentation + Class: GenerateList - - - - - - - - - - + + + + + + - - -
-

class GenerateList

- -
- -

This tool generates a list to use for plugin and theme enumeration

- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- verbose[RW] -
- -
- - - +
- +
- - -
-

Public Class Methods

- - -
+
+ + +
+

Parent

-
- new(type, verbose) + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

GenerateList

+ +
+ +

This tool generates a list to use for plugin and theme enumeration

+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + + + +
+ verbose[RW] +
+ +
+ + + +
+
+ -
- -

type = themes | plugins

- - + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/wpstools/plugins/list_generator/generate_list.rb, line 8
+          
+ new(type, verbose) + click to toggle source +
+ + +
+ +

type = themes | plugins

+ + + +
+
+# File lib/wpstools/plugins/list_generator/generate_list.rb, line 8
 def initialize(type, verbose)
   if type =~ /plugins/
     @type           = 'plugin'
     @svn_url        = 'http://plugins.svn.wordpress.org/'
-    @popular_url    = 'http://wordpress.org/extend/plugins/browse/popular/'
-    @popular_regex  = %r{<h3><a href="http://wordpress.org/extend/plugins/(.+)/">.+</a></h3>}
+    @popular_url    = 'http://wordpress.org/plugins/browse/popular/'
+    @popular_regex  = %{<h3><a href="http://wordpress.org/plugins/(.+)/">.+</a></h3>}
   elsif type =~ /themes/
     @type           = 'theme'
     @svn_url        = 'http://themes.svn.wordpress.org/'
-    @popular_url    = 'http://wordpress.org/extend/themes/browse/popular/'
-    @popular_regex  = %r{<h3><a href="http://wordpress.org/extend/themes/(.+)">.+</a></h3>}
+    @popular_url    = 'http://wordpress.org/themes/browse/popular/'
+    @popular_regex  = %{<h3><a href="http://wordpress.org/themes/(.+)">.+</a></h3>}
   else
     raise "Type #{type} not defined"
   end
@@ -381,113 +377,113 @@
   @browser  = Browser.instance
   @hydra    = @browser.hydra
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- generate_full_list() - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpstools/plugins/list_generator/generate_list.rb, line 52
+          
+ generate_full_list() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/list_generator/generate_list.rb, line 52
 def generate_full_list
   set_file_name(:full)
   items = SvnParser.new(@svn_url).parse
   save items
 end
-
- -
+
+ +
- - - -
- - - - - - - - -
- -
- save(items) - - click to toggle source - -
- - -
- -

Save the file

- -
-
# File lib/wpstools/plugins/list_generator/generate_list.rb, line 103
+        
+ + +
+ + + +
+ save(items) + click to toggle source +
+ + +
+ +

Save the file

+ + + +
+
+# File lib/wpstools/plugins/list_generator/generate_list.rb, line 103
 def save(items)
   items.sort!
   items.uniq!
@@ -560,36 +556,36 @@ parse the response for the names.

File.open(@file_name, 'w') { |f| f.puts(items) } puts "New #@file_name file created" end
-
- -
+
+ +
- - - -
- - -
- -
- set_file_name(type) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/list_generator/generate_list.rb, line 27
+        
+ + +
+ + + +
+ set_file_name(type) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/list_generator/generate_list.rb, line 27
 def set_file_name(type)
   case @type
   when 'plugin'
@@ -614,26 +610,29 @@ parse the response for the names.

raise "Unknown type #@type" end end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/GitUpdater.html b/doc_rdoc/GitUpdater.html index cf1023d1..75b60e76 100644 --- a/doc_rdoc/GitUpdater.html +++ b/doc_rdoc/GitUpdater.html @@ -1,544 +1,539 @@ - - - + + + - + -class GitUpdater - RDoc Documentation + Class: GitUpdater - - - - - - - - - - + + + + + + - - -
-

class GitUpdater

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- has_local_changes?() +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ - + +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

GitUpdater

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/updater/git_updater.rb, line 21
+          
+ has_local_changes?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/git_updater.rb, line 21
 def has_local_changes?
-  %x[git #{repo_directory_arguments()} diff --exit-code 2>&1] =~ /diff/ ? true : false
+  %[git #{repo_directory_arguments()} diff --exit-code 2>&1] =~ /diff/ ? true : false
 end
-
- -
+
+ +
- - - -
- - -
- -
- is_installed?() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/updater/git_updater.rb, line 6
+        
+ + +
+ + + +
+ is_installed?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/git_updater.rb, line 6
 def is_installed?
-  %x[git #{repo_directory_arguments()} status 2>&1] =~ /On branch/ ? true : false
+  %[git #{repo_directory_arguments()} status 2>&1] =~ /On branch/ ? true : false
 end
-
- -
+
+ +
- - - -
- - -
- -
- local_revision_number() - click to toggle source - -
- -
-

Git has not a revsion number like SVN, so we will take the 7 first chars of +

+ + +
+ + + +
+ local_revision_number() + click to toggle source +
+ + +
+ +

Git has not a revsion number like SVN, so we will take the 7 first chars of the last commit hash

- - + - -
-
# File lib/common/updater/git_updater.rb, line 12
+            
+            
+
+# File lib/common/updater/git_updater.rb, line 12
 def local_revision_number
-  git_log = %x[git #{repo_directory_arguments()} log -1 2>&1]
+  git_log = %[git #{repo_directory_arguments()} log -1 2>&1]
   git_log[/commit ([0-9a-z]{7})/, 1].to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- reset_head() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/updater/git_updater.rb, line 25
+        
+ + +
+ + + +
+ reset_head() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/git_updater.rb, line 25
 def reset_head
-  %x[git #{repo_directory_arguments()} reset --hard HEAD]
+  %[git #{repo_directory_arguments()} reset --hard HEAD]
 end
-
- -
+
+ +
- - - -
- - -
- -
- update() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/updater/git_updater.rb, line 17
+        
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/git_updater.rb, line 17
 def update
-  %x[git #{repo_directory_arguments()} pull]
+  %[git #{repo_directory_arguments()} pull]
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- repo_directory_arguments() - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/common/updater/git_updater.rb, line 30
+          
+ repo_directory_arguments() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/git_updater.rb, line 30
 def repo_directory_arguments
   if @repo_directory
     return "--git-dir=\"#{@repo_directory}/.git\" --work-tree=\"#{@repo_directory}\""
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/LICENSE.html b/doc_rdoc/LICENSE.html index f5624619..7c2d44a4 100644 --- a/doc_rdoc/LICENSE.html +++ b/doc_rdoc/LICENSE.html @@ -1,258 +1,243 @@ - + + - + - + -LICENSE - RDoc Documentation + File: LICENSE [RDoc Documentation] - - - - - - - - - - + + + + + + - -
- +
+

WPScan - WordPress Security Scanner Copyright (C) 2012-2013

This program is free software: you can redistribute it and/or modify it @@ -267,15 +252,15 @@ more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <www.gnu.org/licenses/>.

+href="http://www.gnu.org/licenses/">www.gnu.org/licenses/>.

-
+
- - - +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + diff --git a/doc_rdoc/ListGeneratorPlugin.html b/doc_rdoc/ListGeneratorPlugin.html index 4c61f871..726659a2 100644 --- a/doc_rdoc/ListGeneratorPlugin.html +++ b/doc_rdoc/ListGeneratorPlugin.html @@ -1,343 +1,330 @@ - - - + + + - + -class ListGeneratorPlugin - RDoc Documentation + Class: ListGeneratorPlugin - - - - - - - - - - + + + + + + - - -
-

class ListGeneratorPlugin

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- new() +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + +
+ -
+ + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ListGeneratorPlugin

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/wpstools/plugins/list_generator/list_generator_plugin.rb, line 4
+          
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/list_generator/list_generator_plugin.rb, line 4
 def initialize
   super(author: 'WPScanTeam - @FireFart')
 
@@ -351,42 +338,42 @@
     ['--generate-all', '--ga', 'Generate a new full plugins, full themes, popular plugins and popular themes list']
   )
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- run(options = {}) - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpstools/plugins/list_generator/list_generator_plugin.rb, line 18
+          
+ run(options = {}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/list_generator/list_generator_plugin.rb, line 18
 def run(options = {})
   @verbose     = options[:verbose] || false
   generate_all = options[:generate_all] || false
@@ -407,26 +394,29 @@
     full('theme')
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Object.html b/doc_rdoc/Object.html index bf64a788..25b4bf0a 100644 --- a/doc_rdoc/Object.html +++ b/doc_rdoc/Object.html @@ -1,585 +1,587 @@ - - - + + + - + -class Object - RDoc Documentation + Class: Object - - - - - - - - - - + + + + + + - - -
-

class Object

- -
- -
- - - - -
- - - - - - -
-

Constants

-
- -
CACHE_DIR - -
- - -
COLLECTIONS_LIB_DIR - -
- - -
COMMON_LIB_DIR - -
- - -
COMMON_PLUGINS_DIR - -

Plugins directories

- - -
CONF_DIR - -
- - -
DATA_DIR - -
- - -
LIB_DIR - -
- - -
LOCAL_FILES_FILE - -
- - -
LOCAL_FILES_XSD - -
- - -
LOG_FILE - -
- - -
MODELS_LIB_DIR - -
- - -
PLUGINS_FILE - -

Data files

- - -
PLUGINS_FULL_FILE - -
- - -
PLUGINS_VULNS_FILE - -
- - -
REVISION - -
- - -
ROOT_DIR - -
- - -
THEMES_FILE - -
- - -
THEMES_FULL_FILE - -
- - -
THEMES_VULNS_FILE - -
- - -
UPDATER_LIB_DIR - -
- - -
VULNS_XSD - -
- - -
WPSCAN_LIB_DIR - -
- - -
WPSCAN_PLUGINS_DIR - -
- - -
WPSCAN_VERSION - -
- - -
WPSTOOLS_LIB_DIR - -
- - -
WPSTOOLS_PLUGINS_DIR - -
- - -
WP_VERSIONS_FILE - -
- - -
WP_VERSIONS_XSD - -
- - -
WP_VULNS_FILE - -
- - -
-
- - - - - - -
-

Public Instance Methods

- - -
- -
- add_http_protocol(url) +
+ + + +
+ +
+ + +
+

Parent

+ + +
+ -
+ + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Object

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
CACHE_DIR
+ +
+ + +
COLLECTIONS_LIB_DIR
+ +
+ + +
COMMON_LIB_DIR
+ +
+ + +
COMMON_PLUGINS_DIR
+ +

Plugins directories

+ + +
CONF_DIR
+ +
+ + +
DATA_DIR
+ +
+ + +
LIB_DIR
+ +
+ + +
LOCAL_FILES_FILE
+ +
+ + +
LOCAL_FILES_XSD
+ +
+ + +
LOG_FILE
+ +
+ + +
MODELS_LIB_DIR
+ +
+ + +
PLUGINS_FILE
+ +

Data files

+ + +
PLUGINS_FULL_FILE
+ +
+ + +
PLUGINS_VULNS_FILE
+ +
+ + +
REVISION
+ +
+ + +
ROOT_DIR
+ +
+ + +
THEMES_FILE
+ +
+ + +
THEMES_FULL_FILE
+ +
+ + +
THEMES_VULNS_FILE
+ +
+ + +
UPDATER_LIB_DIR
+ +
+ + +
VULNS_XSD
+ +
+ + +
WPSCAN_LIB_DIR
+ +
+ + +
WPSCAN_PLUGINS_DIR
+ +
+ + +
WPSCAN_VERSION
+ +
+ + +
WPSTOOLS_LIB_DIR
+ +
+ + +
WPSTOOLS_PLUGINS_DIR
+ +
+ + +
WP_VERSIONS_FILE
+ +
+ + +
WP_VERSIONS_XSD
+ +
+ + +
WP_VULNS_FILE
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/common_helper.rb, line 58
+          
+ add_http_protocol(url) + click to toggle source +
+ + +
+ +

Add protocol

+ + + +
+
+# File lib/common/common_helper.rb, line 62
 def add_http_protocol(url)
   url =~ /^https?:/ ? url : "http://#{url}"
 end
-
- -
+
+ +
- - - -
- - -
- -
- add_trailing_slash(url) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/common_helper.rb, line 62
+        
+ + +
+ + + +
+ add_trailing_slash(url) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/common_helper.rb, line 66
 def add_trailing_slash(url)
   url =~ /\/$/ ? url : "#{url}/"
 end
-
- -
+
+ +
- - - -
- - -
- -
- banner() - - click to toggle source - -
- - -
- -

our 1337 banner

- - + + + + +
- - - -
- - -
- -
- colorize(text, color_code) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/common_helper.rb, line 92
+        
+ + +
+ + + +
+ colorize(text, color_code) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/common_helper.rb, line 96
 def colorize(text, color_code)
   "\e[#{color_code}m#{text}\e[0m"
 end
-
- -
+
+ +
- - - -
- - -
- -
- get_equal_string_end(stringarray = ['']) - - click to toggle source - -
- - -
- -

Gets the string all elements in stringarray ends with

- -
-
# File lib/common/common_helper.rb, line 116
+        
+ + +
+ + + +
+ get_equal_string_end(stringarray = ['']) + click to toggle source +
+ + +
+ +

Gets the string all elements in stringarray ends with

+ + + +
+
+# File lib/common/common_helper.rb, line 120
 def get_equal_string_end(stringarray = [''])
   already_found = ''
   looping = true
   counter = -1
+  # remove nils (# Issue #232)
+  stringarray = stringarray.compact
   if stringarray.kind_of? Array and stringarray.length > 1
-    base = stringarray[0]
+    base = stringarray.first
     while looping
       character = base[counter, 1]
       stringarray.each do |s|
@@ -671,7 +675,7 @@
           break
         end
       end
-      if looping == false or (counter * -1) > base.length
+      if looping == false or (counter * -1) > base.length
         break
       end
       already_found = "#{character if character}#{already_found}"
@@ -680,69 +684,69 @@
   end
   already_found
 end
-
- -
+
+ +
- - - -
- - -
- -
- green(text) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/common_helper.rb, line 100
+        
+ + +
+ + + +
+ green(text) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/common_helper.rb, line 104
 def green(text)
   colorize(text, 32)
 end
-
- -
+
+ +
- - - -
- - -
- -
- help() - - click to toggle source - -
- - -
- -

command help

- -
-
# File lib/wpscan/wpscan_helper.rb, line 59
+        
+ + +
+ + + +
+ help() + click to toggle source +
+ + +
+ +

command help

+ + + +
+
+# File lib/wpscan/wpscan_helper.rb, line 59
 def help
   puts 'Help :'
   puts
@@ -763,7 +767,7 @@
   puts '    t        themes'
   puts '    vt       only vulnerable themes'
   puts '    at       all themes (can take a long time)'
-  puts '  Multiple values are allowed : "-e t,p" will enumerate timthumbs and plugins'
+  puts '  Multiple values are allowed : "-e tt,p" will enumerate timthumbs and plugins'
   puts '  If no option is supplied, the default is "vt,tt,u,vp"'
   puts
   puts '--exclude-content-based "<regexp or string>" Used with the enumeration option, will exclude all occurrences based on the regexp or string supplied'
@@ -783,36 +787,69 @@
   puts '--verbose  | -v Verbose output.'
   puts
 end
-
- -
+
+ +
- - - -
- - -
- -
- main() - - click to toggle source - -
- - -
- - - -
-
# File wpscan.rb, line 6
+        
+ + +
+ + + +
+ kali_linux?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/common_helper.rb, line 41
+def kali_linux?
+  %{uname -a}.match(/linux kali/) ? true : false
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ main() + click to toggle source +
+ + +
+ + + + + +
+
+# File wpscan.rb, line 5
 def main
   # delete old logfile, check if it is a symlink first.
   File.delete(LOG_FILE) if File.exist?(LOG_FILE) and !File.symlink?(LOG_FILE)
@@ -936,6 +973,10 @@
       puts red("[!] searchreplacedb2.php has been found '#{wp_target.search_replace_db_2_url}'")
     end
 
+    wp_target.interesting_headers.each do |header|
+      puts green('[+]') + " Interesting header: #{header[0]}: #{header[1]}"
+    end
+
     if wp_target.multisite?
       puts green('[+]') + ' This site seems to be a multisite (http://codex.wordpress.org/Glossary#Multisite)'
     end
@@ -1080,7 +1121,7 @@
         end
       else
         puts green('[+]') + " We found the following #{wp_users.size} user/s :"
-        wp_users.output(margin_left: ' ' * 4)
+        wp_users.output(margin_left: ' ' * 4)
       end
 
     else
@@ -1105,11 +1146,16 @@
       if bruteforce
         puts green('[+]') + ' Starting the password brute forcer'
 
-        wp_users.brute_force(wpscan_options.wordlist,
-                             show_progression: true,
-                             verbose: wpscan_options.verbose)
-        puts
-        wp_users.output(show_password: true, margin_left: ' ' * 2)
+        begin
+          wp_users.brute_force(
+            wpscan_options.wordlist,
+            show_progression: true,
+            verbose: wpscan_options.verbose
+          )
+        ensure
+          puts
+          wp_users.output(show_password: true, margin_left: ' ' * 2)
+        end
       else
         puts 'Brute forcing aborted'
       end
@@ -1121,6 +1167,9 @@
     elapsed = stop_time - start_time
     puts green("[+] Elapsed time: #{Time.at(elapsed).utc.strftime('%H:%M:%S')}")
     exit(0) # must exit!
+
+  rescue SystemExit, Interrupt
+    puts 'Exiting!'
   rescue => e
     if e.backtrace[0] =~ /main/
       puts red(e.message)
@@ -1132,41 +1181,36 @@
     exit(1)
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- puts(o = '') - - click to toggle source - -
- - -
- -

Override for puts to enable logging

- - -
- Calls superclass method - -
-
-
# File lib/common/hacks.rb, line 64
+        
+ + +
+ + + +
+ puts(o = '') + click to toggle source +
+ + +
+ +

Override for puts to enable logging

+ + + +
+
+# File lib/common/hacks.rb, line 50
 def puts(o = '')
   # remove color for logging
   if o.respond_to?(:gsub)
@@ -1175,103 +1219,103 @@
   end
   super(o)
 end
-
- -
+
+ +
- - - -
- - -
- -
- red(text) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/common_helper.rb, line 96
+        
+ + +
+ + + +
+ red(text) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/common_helper.rb, line 100
 def red(text)
   colorize(text, 31)
 end
-
- -
+
+ +
- - - -
- - -
- -
- redefine_constant(constant, value) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/common_helper.rb, line 110
+        
+ + +
+ + + +
+ redefine_constant(constant, value) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/common_helper.rb, line 114
 def redefine_constant(constant, value)
   Object.send(:remove_const, constant)
   Object.const_set(constant, value)
 end
-
- -
+
+ +
- - - -
- - -
- -
- require_files_from_directory(absolute_dir_path, files_pattern = '*.rb') - - click to toggle source - -
- - -
- -

TODO : add an exclude pattern ?

- -
-
# File lib/common/common_helper.rb, line 44
+        
+ + +
+ + + +
+ require_files_from_directory(absolute_dir_path, files_pattern = '*.rb') + click to toggle source +
+ + +
+ +

TODO : add an exclude pattern ?

+ + + +
+
+# File lib/common/common_helper.rb, line 48
 def require_files_from_directory(absolute_dir_path, files_pattern = '*.rb')
   files = Dir[File.join(absolute_dir_path, files_pattern)]
 
@@ -1282,36 +1326,36 @@
     require f
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- usage() - - click to toggle source - -
- - -
- -

wpscan usage

- -
-
# File lib/wpscan/wpscan_helper.rb, line 7
+        
+ + +
+ + + +
+ usage() + click to toggle source +
+ + +
+ +

wpscan usage

+ + + +
+
+# File lib/wpscan/wpscan_helper.rb, line 7
 def usage
   script_name = $0
   puts
@@ -1362,61 +1406,64 @@
   puts 'See README for further information.'
   puts
 end
-
- -
+
+ +
- - - -
- - -
- -
- xml(file) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/common_helper.rb, line 104
+        
+ + +
+ + + +
+ xml(file) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/common_helper.rb, line 108
 def xml(file)
   Nokogiri::XML(File.open(file)) do |config|
     config.noblanks
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Plugin.html b/doc_rdoc/Plugin.html index cf8e5383..981ecbc8 100644 --- a/doc_rdoc/Plugin.html +++ b/doc_rdoc/Plugin.html @@ -1,413 +1,409 @@ - - - + + + - + -class Plugin - RDoc Documentation + Class: Plugin - - - - - - - - - - + + + + + + - - -
-

class Plugin

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- author[R] -
- -
- - - +
+
+

In Files

+
- -
-
- registered_options[R] -
-
+ +
+ +
+ + +
+

Parent

+ - -
-
- - - -
-

Public Class Methods

+ - -
+ + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Plugin

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ - click to toggle source +
+ author[R] +
+ +
+ + +
+
+ + +
+ registered_options[R] +
-
- +
+
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/common/plugins/plugin.rb, line 6
+          
+ new(infos = {}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/plugins/plugin.rb, line 6
 def initialize(infos = {})
   @author  = infos[:author]
 end
-
+
+ +
+ -
- - - -
+ +
+ +
- - -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- register_options(*options) - - click to toggle source - -
- - -
- -

param Array options

- - + +
+ -
-
# File lib/common/plugins/plugin.rb, line 15
-def register_options(*options)
+          
+ register_options(*options) + click to toggle source +
+ + +
+ +

param Array options

+ + + +
+
+# File lib/common/plugins/plugin.rb, line 15
+def register_options(*options)
   options.each do |option|
     unless option.is_a?(Array)
       raise "Each option must be an array, #{option.class} supplied"
@@ -415,59 +411,62 @@
   end
   @registered_options = options
 end
-
- -
+
+ +
- - - -
- - -
- -
- run(options = {}) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/plugins/plugin.rb, line 10
+        
+ + +
+ + + +
+ run(options = {}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/plugins/plugin.rb, line 10
 def run(options = {})
   raise NotImplementedError
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Plugins.html b/doc_rdoc/Plugins.html index 39d28cdd..799aade2 100644 --- a/doc_rdoc/Plugins.html +++ b/doc_rdoc/Plugins.html @@ -1,360 +1,354 @@ - - - + + + - + -class Plugins - RDoc Documentation + Class: Plugins - - - - - - - - - - + + + + + + - - -
-

class Plugins

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- option_parser[R] -
- -
- - - +
+
+

In Files

+
+ -
- +
- - -
-

Public Class Methods

- - -
+
+ + +
+

Parent

-
- new(option_parser = nil) + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Plugins

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ option_parser[R] +
+ +
+ + + +
+
+ -
- - - - + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/common/plugins/plugins.rb, line 6
+          
+ new(option_parser = nil) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/plugins/plugins.rb, line 6
 def initialize(option_parser = nil)
   if option_parser
     if option_parser.is_a?(CustomOptionParser)
@@ -366,77 +360,77 @@
     @option_parser = CustomOptionParser.new
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- register(*plugins) - - click to toggle source - -
- - -
- -

param Array(Plugin) plugins

- - + +
+ -
-
# File lib/common/plugins/plugins.rb, line 19
-def register(*plugins)
+          
+ register(*plugins) + click to toggle source +
+ + +
+ +

param Array(Plugin) plugins

+ + + +
+
+# File lib/common/plugins/plugins.rb, line 19
+def register(*plugins)
   plugins.each do |plugin|
     register_plugin(plugin)
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- register_plugin(plugin) - - click to toggle source - -
- - -
- -

param Plugin plugin

- -
-
# File lib/common/plugins/plugins.rb, line 26
+        
+ + +
+ + + +
+ register_plugin(plugin) + click to toggle source +
+ + +
+ +

param Plugin plugin

+ + + +
+
+# File lib/common/plugins/plugins.rb, line 26
 def register_plugin(plugin)
   if plugin.is_a?(Plugin)
     self << plugin
@@ -449,26 +443,29 @@
     raise "The argument must be an instance of Plugin, #{plugin.class} supplied"
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/README.html b/doc_rdoc/README.html index 44712128..6a6db949 100644 --- a/doc_rdoc/README.html +++ b/doc_rdoc/README.html @@ -1,277 +1,243 @@ - + + - + - + -README - RDoc Documentation + File: README [RDoc Documentation] - - - - - - - - - - + + + + + + - -
- +
+

__

__          _______   _____
@@ -283,7 +249,7 @@
 
 

__

-

LICENSE==

+

LICENSE==

WPScan - WordPress Security Scanner Copyright (C) 2011-2013 The WPScan Team

@@ -299,97 +265,96 @@ more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <www.gnu.org/licenses/>.

+href="http://www.gnu.org/licenses/">www.gnu.org/licenses/>.

ryandewhurst at gmail

-

INSTALL==

+

INSTALL==

-
WPScan comes pre-installed on the following Linux distributions:
+
WPScan comes pre-installed on the following Linux distributions:
 
- * BackBox Linux
- * BackTrack Linux (outdated WPScan installed, update needed)
- * Pentoo
- * SamuraiWTF
+ * BackBox Linux
+ * BackTrack Linux
+ * Pentoo
+ * SamuraiWTF
 
-Prerequisites:
+Prerequisites:
 
- * Windows not supported
- * Ruby => 1.9
- * RubyGems
- * Git
+ * Windows not supported
+ * Ruby >= 1.9.2 - Recommended: 1.9.3
+ * Curl >= 7.21  - Recommended: latest - FYI the 7.29 has a segfault
+ * RubyGems      - Recommended: latest
+ * Git
 
--> Installing on Debian/Ubuntu:
+-> Installing on Debian/Ubuntu:
 
-  sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev
-  git clone https://github.com/wpscanteam/wpscan.git
-  cd wpscan
-  sudo gem install bundler && bundle install --without test development
+  sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev
+  git clone https://github.com/wpscanteam/wpscan.git
+  cd wpscan
+  sudo gem install bundler && bundle install --without test development
 
--> Installing on Fedora:
+-> Installing on Fedora:
 
-  sudo yum install libcurl-devel
-  git clone https://github.com/wpscanteam/wpscan.git
-  cd wpscan
-  sudo gem install bundler && bundle install --without test development
+  sudo yum install gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel libcurl-devel
+  git clone https://github.com/wpscanteam/wpscan.git
+  cd wpscan
+  sudo gem install bundler && bundle install --without test development
 
--> Installing on Archlinux:
+-> Installing on Archlinux:
 
-  pacman -Syu ruby
-  pacman -Syu libyaml
+  pacman -Syu ruby
+  pacman -Syu libyaml
 
-  git clone https://github.com/wpscanteam/wpscan.git
-  cd wpscan
-  sudo gem install bundler && bundle install --without test development
+  git clone https://github.com/wpscanteam/wpscan.git
+  cd wpscan
+  sudo gem install bundler && bundle install --without test development
 
-  gem install typhoeus
-  gem install nokogiri
+  gem install typhoeus
+  gem install nokogiri
 
--> Installing on Mac OS X:
+-> Installing on Mac OS X:
 
-  git clone https://github.com/wpscanteam/wpscan.git
-  cd wpscan
-  sudo gem install bundler && bundle install --without test development
-
+ git clone https://github.com/wpscanteam/wpscan.git + cd wpscan + sudo gem install bundler && bundle install --without test development
-

KNOWN ISSUES==

+

KNOWN ISSUES==

-
- Typhoeus segmentation fault:
-    Update cURL to version => 7.21 (may have to install from source)
-    See http://code.google.com/p/wpscan/issues/detail?id=81
+
- Typhoeus segmentation fault:
+    Update cURL to version => 7.21 (may have to install from source)
+    See http://code.google.com/p/wpscan/issues/detail?id=81
 
-- Proxy not working:
-    Update cURL to version => 7.21.7 (may have to install from source).
+- Proxy not working:
+    Update cURL to version => 7.21.7 (may have to install from source).
 
-    Installation from sources :
-      - Grab the sources from http://curl.haxx.se/download.html
-      - Decompress the archive
-      - Open the folder with the extracted files
-      - Run ./configure
-      - Run make
-      - Run sudo make install
-      - Run sudo ldconfig
+    Installation from sources :
+      - Grab the sources from http://curl.haxx.se/download.html
+      - Decompress the archive
+      - Open the folder with the extracted files
+      - Run ./configure
+      - Run make
+      - Run sudo make install
+      - Run sudo ldconfig
 
-- cannot load such file -- readline:
-    Run sudo aptitude install libreadline5-dev libncurses5-dev
+- cannot load such file -- readline:
+    Run sudo aptitude install libreadline5-dev libncurses5-dev
 
-    Then, open the directory of the readline gem (you have to locate it)
+    Then, open the directory of the readline gem (you have to locate it)
 
-    cd ~/.rvm/rc/ruby-1.9.2-p180/ext/readline
-    ruby extconf.rb
-    make
-    make install
+    cd ~/.rvm/src/ruby-1.9.2-p180/ext/readline
+    ruby extconf.rb
+    make
+    make install
 
-    See http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/ for more details
+    See http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/ for more details
 
-- no such file to load -- rubygems
-    Run update-alternatives --config ruby
-    And select your ruby version
+- no such file to load -- rubygems
+    Run update-alternatives --config ruby
+    And select your ruby version
 
-    See https://github.com/wpscanteam/wpscan/issues/148
-
+ See https://github.com/wpscanteam/wpscan/issues/148
-

WPSCAN ARGUMENTS==

+

WPSCAN ARGUMENTS==

–update Update to the latest revision

@@ -433,13 +398,12 @@ for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed

–proxy <[protocol://]host:port> Supply a proxy (will override the -one from conf/browser.conf.json).

+one from conf/browser.conf.json).

HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used

–proxy-auth <username:password> Supply the proxy login credentials -(will override the one from conf/browser.conf.json).

+(will override the one from conf/browser.conf.json).

–basic-auth <username:password> Set the HTTP Basic authentication

@@ -447,8 +411,8 @@ href="conf/browser_conf_json.html">conf/browser.conf.json).

and do the brute.

–threads | -t <number of threads> The number of threads to use when -multi-threading requests. (will override the value from conf/browser.conf.json)

+multi-threading requests. (will override the value from +conf/browser.conf.json)

–username | -U <username> Only brute force the supplied username.

@@ -456,7 +420,7 @@ href="conf/browser_conf_json.html">conf/browser.conf.json)

–verbose | -v Verbose output.

-

WPSCAN EXAMPLES==

+

WPSCAN EXAMPLES==

Do ‘non-intrusive’ checks…

@@ -490,56 +454,57 @@ href="conf/browser_conf_json.html">conf/browser.conf.json)

ruby wpscan.rb --url www.example.com --debug-output 2>debug.log
-

WPSTOOLS ARGUMENTS==

+

WPSTOOLS ARGUMENTS==

–help | -h This help screen. –Verbose | -v Verbose output. –update | -u Update to the latest revision. –generate_plugin_list [number of pages] Generate a new data/plugins.txt file. (supply number of -pages to parse, default : 150) –gpl Alias for -–generate_plugin_list –check-local-vulnerable-files | –clvf <local -directory> Perform a recursive scan in the <local directory> to -find vulnerable files or shells

+pages to parse, default : 150) –gpl Alias for –generate_plugin_list +–check-local-vulnerable-files | –clvf <local directory> Perform a +recursive scan in the <local directory> to find vulnerable files or +shells

-

WPSTOOLS EXAMPLES==

+

WPSTOOLS EXAMPLES==

  • Generate a new ‘most popular’ plugin list, up to 150 pages …

-

ruby wpstools.rb –generate_plugin_list 150

+

ruby wpstools.rb –generate_plugin_list 150

  • Locally scan a wordpress installation for vulnerable files or shells :

-

ruby wpstools.rb –check-local-vulnerable-files /var/www/wordpress/

+

ruby wpstools.rb +–check-local-vulnerable-files /var/www/wordpress/

-

PROJECT HOME===

+

PROJECT HOME===

www.wpscan.org

-

REPOSITORY===

+

REPOSITORY===

github.com/wpscanteam/wpscan

-

ISSUES===

+

ISSUES===

github.com/wpscanteam/wpscan/issues

-

SPONSOR===

+

SPONSOR===

WPScan is sponsored by the RandomStorm Open Source Initiative.

Visit RandomStorm at www.randomstorm.com

-
+
- - - +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + diff --git a/doc_rdoc/README_md.html b/doc_rdoc/README_md.html deleted file mode 100644 index b5945928..00000000 --- a/doc_rdoc/README_md.html +++ /dev/null @@ -1,546 +0,0 @@ - - - - - - -README - RDoc Documentation - - - - - - - - - - - - - - - - -
- -

- -

LICENSE

- -

WPScan - WordPress Security Scanner Copyright (C), 2011-2013 The WPScan -Team

- -

This program is free software: you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the Free -Software Foundation, either version 3 of the License, or (at your option) -any later version.

- -

This program is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -more details.

- -

You should have received a copy of the GNU General Public License along -with this program. If not, see www.gnu.org/licenses/.

- -

ryandewhurst at gmail

- -

INSTALL

- -

WPScan comes pre-installed on the following Linux distributions:

- - -

Prerequisites:

- - -

Installing on Debian/Ubuntu:

- -
apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev
- -
clone https://github.com/wpscanteam/wpscan.git
- -
wpscan
- -
gem install bundler && bundle install --without test development
- -

Installing on Fedora:

- -
yum install libcurl-devel
- -
clone https://github.com/wpscanteam/wpscan.git
- -
wpscan
- -
gem install bundler && bundle install --without test development
- -

Installing on Archlinux:

- -
-Syu ruby
- -
-Syu libyaml
- -
clone https://github.com/wpscanteam/wpscan.git
- -
wpscan
- -
gem install bundler && bundle install --without test development
- -
install typhoeus
- -
install nokogiri
- -

Installing on Mac OSX:

- -
clone https://github.com/wpscanteam/wpscan.git
- -
wpscan
- -
gem install bundler && bundle install --without test development
- -

KNOWN ISSUES

- - -

WPSCAN ARGUMENTS

- -
--update  Update to the latest revision
-
---url   | -u <target url>  The WordPress URL/domain to scan.
-
---force | -f Forces WPScan to not check if the remote site is running WordPress.
-
---enumerate | -e [option(s)]  Enumeration.
-  option :
-    u        usernames from id 1 to 10
-    u[10-20] usernames from id 10 to 20 (you must write [] chars)
-    p        plugins
-    vp       only vulnerable plugins
-    ap       all plugins (can take a long time)
-    tt       timthumbs
-    t        themes
-    vt       only vulnerable themes
-    at       all themes (can take a long time)
-Multiple values are allowed : '-e tt,p' will enumerate timthumbs and plugins
-If no option is supplied, the default is 'vt,tt,u,vp'
-
---exclude-content-based '<regexp or string>'  Used with the enumeration option, will exclude all occurrences based on the regexp or string supplied
-                                              You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)
-
---config-file | -c <config file> Use the specified config file
-
---follow-redirection  If the target url has a redirection, it will be followed without asking if you wanted to do so or not
-
---wp-content-dir <wp content dir>  WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed
-
---wp-plugins-dir <wp plugins dir>  Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed
-
---proxy <[protocol://]host:port>  Supply a proxy (will override the one from conf/browser.conf.json).
-                                  HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used
-
---proxy-auth <username:password>  Supply the proxy login credentials (will override the one from conf/browser.conf.json).
-
---basic-auth <username:password>  Set the HTTP Basic authentication
-
---wordlist | -w <wordlist>  Supply a wordlist for the password bruter and do the brute.
-
---threads  | -t <number of threads>  The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)
-
---username | -U <username>  Only brute force the supplied username.
-
---help     | -h This help screen.
-
---verbose  | -v Verbose output.
- -

WPSCAN EXAMPLES

- -

Do ‘non-intrusive’ checks…

- -
wpscan.rb --url www.example.com
-
- -

Do wordlist password brute force on enumerated users using 50 threads…

- -
wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50
-
- -

Do wordlist password brute force on the ‘admin’ username only…

- -
wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin
-
- -

Enumerate installed plugins…

- -
wpscan.rb --url www.example.com --enumerate p
-
- -

Run all enumeration tools…

- -
wpscan.rb --url www.example.com --enumerate
-
- -

Use custom content directory…

- -
wpscan.rb -u www.example.com --wp-content-dir custom-content
-
- -

Update WPScan…

- -
wpscan.rb --update
-
- -

Debug output…

- -
wpscan.rb --url www.example.com --debug-output 2>debug.log
-
- -

WPSTOOLS ARGUMENTS

- -
--help    | -h   This help screen.
---Verbose | -v   Verbose output.
---update  | -u   Update to the latest revision.
---generate_plugin_list [number of pages]  Generate a new data/plugins.txt file. (supply number of *pages* to parse, default : 150)
---gpl  Alias for --generate_plugin_list
---check-local-vulnerable-files | --clvf <local directory>  Perform a recursive scan in the <local directory> to find vulnerable files or shells
- -

WPSTOOLS EXAMPLES

- -

Generate a new ‘most popular’ plugin list, up to 150 pages…

- -
wpstools.rb --generate_plugin_list 150
-
- -

Locally scan a wordpress installation for vulnerable files or shells : -ruby wpstools.rb --check-local-vulnerable-files -/var/www/wordpress/

- -

PROJECT HOME

- -

www.wpscan.org

- -

GIT REPOSITORY

- -

github.com/wpscanteam/wpscan

- -

ISSUES

- -

github.com/wpscanteam/wpscan/issues

- -

SPONSOR

- -

WPScan is sponsored by the RandomStorm Open Source Initiative.

- -
- - - - - diff --git a/doc_rdoc/StatsPlugin.html b/doc_rdoc/StatsPlugin.html index c790c9cc..ffe2b7fb 100644 --- a/doc_rdoc/StatsPlugin.html +++ b/doc_rdoc/StatsPlugin.html @@ -1,357 +1,344 @@ - - - + + + - + -class StatsPlugin - RDoc Documentation + Class: StatsPlugin - - - - - - - - - - + + + + + + - - -
-

class StatsPlugin

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- new() +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ -
+ + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

StatsPlugin

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 4
+          
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 4
 def initialize
   super(author: 'WPScanTeam - Christian Mehlmauer')
 
@@ -359,108 +346,108 @@
       ['--stats', '--s', 'Show WpScan Database statistics']
   )
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- lines_in_file(file) - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 50
+          
+ lines_in_file(file) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 50
 def lines_in_file(file)
   IO.readlines(file).size
 end
-
- -
+
+ +
- - - -
- - -
- -
- plugin_vulns_count(file=PLUGINS_VULNS_FILE) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 34
+        
+ + +
+ + + +
+ plugin_vulns_count(file=PLUGINS_VULNS_FILE) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 34
 def plugin_vulns_count(file=PLUGINS_VULNS_FILE)
   xml(file).xpath("count(//vulnerability)").to_i
 end
-
- -
+
+ +
- - - -
- - -
- -
- run(options = {}) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 12
+        
+ + +
+ + + +
+ run(options = {}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 12
 def run(options = {})
   if options[:stats]
     puts "Wpscan Databse Statistics:"
@@ -474,191 +461,194 @@
     puts
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- theme_vulns_count(file=THEMES_VULNS_FILE) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 38
+        
+ + +
+ + + +
+ theme_vulns_count(file=THEMES_VULNS_FILE) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 38
 def theme_vulns_count(file=THEMES_VULNS_FILE)
   xml(file).xpath("count(//vulnerability)").to_i
 end
-
- -
+
+ +
- - - -
- - -
- -
- total_plugins(file=PLUGINS_FULL_FILE) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 42
+        
+ + +
+ + + +
+ total_plugins(file=PLUGINS_FULL_FILE) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 42
 def total_plugins(file=PLUGINS_FULL_FILE)
   lines_in_file(file)
 end
-
- -
+
+ +
- - - -
- - -
- -
- total_themes(file=THEMES_FULL_FILE) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 46
+        
+ + +
+ + + +
+ total_themes(file=THEMES_FULL_FILE) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 46
 def total_themes(file=THEMES_FULL_FILE)
   lines_in_file(file)
 end
-
- -
+
+ +
- - - -
- - -
- -
- vuln_plugin_count(file=PLUGINS_VULNS_FILE) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 26
+        
+ + +
+ + + +
+ vuln_plugin_count(file=PLUGINS_VULNS_FILE) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 26
 def vuln_plugin_count(file=PLUGINS_VULNS_FILE)
   xml(file).xpath("count(//plugin)").to_i
 end
-
- -
+
+ +
- - - -
- - -
- -
- vuln_theme_count(file=THEMES_VULNS_FILE) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpstools/plugins/stats/stats_plugin.rb, line 30
+        
+ + +
+ + + +
+ vuln_theme_count(file=THEMES_VULNS_FILE) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/stats/stats_plugin.rb, line 30
 def vuln_theme_count(file=THEMES_VULNS_FILE)
   xml(file).xpath("count(//theme)").to_i
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/SvnParser.html b/doc_rdoc/SvnParser.html index 6be0af63..add34c4e 100644 --- a/doc_rdoc/SvnParser.html +++ b/doc_rdoc/SvnParser.html @@ -1,448 +1,455 @@ - - - + + + - + -class SvnParser - RDoc Documentation + Class: SvnParser - - - - - - - - - - + + + + + + - - -
-

class SvnParser

- -
- +
+

This Class Parses SVN Repositories via HTTP

-
- - - - -
- +
- - - -
-

Attributes

+
+ -
-
- keep_empty_dirs[RW] -
-
- - - -
-
-
-
- svn_root[RW] -
-
- - - -
-
-
-
- verbose[RW] -
+ +
+

Attributes

-
- - +
+ + + + +
+ keep_empty_dirs[RW] +
+ +
+ + + +
-
+ +
+ + + + +
+ svn_root[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ verbose[RW] +
+ +
+ + + +
+
+ +
-
- - - -
-

Public Class Methods

+ + +
+

Public Class Methods

- -
- -
- new(svn_root) - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpstools/plugins/list_generator/svn_parser.rb, line 7
+          
+ new(svn_root) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/list_generator/svn_parser.rb, line 7
 def initialize(svn_root)
   @svn_root    = svn_root
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- parse() - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpstools/plugins/list_generator/svn_parser.rb, line 11
+          
+ parse() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpstools/plugins/list_generator/svn_parser.rb, line 11
 def parse
   get_root_directories
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/SvnUpdater.html b/doc_rdoc/SvnUpdater.html index 2feb74c9..c82fe58d 100644 --- a/doc_rdoc/SvnUpdater.html +++ b/doc_rdoc/SvnUpdater.html @@ -1,448 +1,443 @@ - - - + + + - + -class SvnUpdater - RDoc Documentation + Class: SvnUpdater - - - - - - - - - - + + + + + + - - -
-

class SvnUpdater

- -
- -
- - - - -
- - - - - - -
-

Constants

-
- -
REVISION_PATTERN - -
- - -
TRUNK_URL - -
- - -
-
- - - - - - -
-

Public Instance Methods

- - -
- -
- is_installed?() +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ -
+ + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

SvnUpdater

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
REVISION_PATTERN
+ +
+ + +
TRUNK_URL
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/updater/svn_updater.rb, line 9
+          
+ is_installed?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/svn_updater.rb, line 9
 def is_installed?
-  %x[svn info "#@repo_directory" --xml 2>&1] =~ /revision=/ ? true : false
+  %[svn info "#@repo_directory" --xml 2>&1] =~ /revision=/ ? true : false
 end
-
- -
+
+ +
- - - -
- - -
- -
- local_revision_number() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/updater/svn_updater.rb, line 13
+        
+ + +
+ + + +
+ local_revision_number() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/svn_updater.rb, line 13
 def local_revision_number
-  local_revision = %x[svn info "#@repo_directory" --xml 2>&1]
+  local_revision = %[svn info "#@repo_directory" --xml 2>&1]
   local_revision[REVISION_PATTERN, 1].to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- update() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/updater/svn_updater.rb, line 18
+        
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/svn_updater.rb, line 18
 def update
-  %x[svn up "#@repo_directory"]
+  %[svn up "#@repo_directory"]
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Terminal.html b/doc_rdoc/Terminal.html index 48b21b0d..9d414e07 100644 --- a/doc_rdoc/Terminal.html +++ b/doc_rdoc/Terminal.html @@ -1,304 +1,307 @@ - - - + + + - + -module Terminal - RDoc Documentation + Module: Terminal - - - - - - - - - - + + + + + + - - -
-

module Terminal

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/Terminal/Table.html b/doc_rdoc/Terminal/Table.html index bcf2ecde..91131dce 100644 --- a/doc_rdoc/Terminal/Table.html +++ b/doc_rdoc/Terminal/Table.html @@ -1,338 +1,340 @@ - - - + + + - + -class Terminal::Table - RDoc Documentation + Class: Terminal::Table - - - - - - - - - - + + + + + + - - -
-

class Terminal::Table

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- render() +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ -
+ + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Terminal::Table

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/hacks.rb, line 84
+          
+ render() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/hacks.rb, line 70
 def render
   separator = Separator.new(self)
   buffer = [separator]
@@ -348,58 +350,62 @@
   buffer << separator
   buffer.map { |r| style.margin_left + r.render }.join("\n")
 end
-
+
+ +
+ + +
+ Also aliased as: to_s +
-
- -
- Also aliased as: to_s -
- + +
- -
+ +
+ + +
+ to_s() + click to toggle source +
+ + +
+ + + + + +
+ + + + +
+ Alias for: render +
+ +
+ + +
-
- -
- to_s() - -
- - -
- - - - - - -
- - - - -
- Alias for: render -
- -
- - -
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Terminal/Table/Style.html b/doc_rdoc/Terminal/Table/Style.html index 490abd19..2f88db42 100644 --- a/doc_rdoc/Terminal/Table/Style.html +++ b/doc_rdoc/Terminal/Table/Style.html @@ -1,421 +1,448 @@ - - - + + + - + -class Terminal::Table::Style - RDoc Documentation + Class: Terminal::Table::Style - - - - - - - - - - + + + + + + - - -
-

class Terminal::Table::Style

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- alignment[RW] -
- -
- - - -
-
- -
-
- border_i[RW] -
- -
- - - -
-
- -
-
- border_x[RW] -
- -
- - - -
-
- -
-
- border_y[RW] -
- -
- - - -
-
- -
-
- margin_left[RW] -
- -
- - - -
-
- -
-
- padding_left[RW] -
- -
- - - -
-
- -
-
- padding_right[RW] -
- -
- - - -
-
- -
-
- width[RW] -
- -
- - - -
-
- -
- - - - -
- -
- - - + + diff --git a/doc_rdoc/Typhoeus.html b/doc_rdoc/Typhoeus.html index 3ed00af7..fa16d94b 100644 --- a/doc_rdoc/Typhoeus.html +++ b/doc_rdoc/Typhoeus.html @@ -1,312 +1,317 @@ - - - + + + - + -module Typhoeus - RDoc Documentation + Module: Typhoeus - - - - - - - - - - + + + + + + - - -
-

module Typhoeus

- -
- +
+

This is used in WpItem::Existable

+

Implementaion of a cache_key (Typhoeus::Request#hash has too many options)

-
+
+ + + +
+ + + + + + + + + + +
- - -
- - +
- +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- - - - - - - - - - + + diff --git a/doc_rdoc/Typhoeus/Request.html b/doc_rdoc/Typhoeus/Request.html index fc37c90a..936b47f0 100644 --- a/doc_rdoc/Typhoeus/Request.html +++ b/doc_rdoc/Typhoeus/Request.html @@ -1,310 +1,315 @@ - - - + + + - + -class Typhoeus::Request - RDoc Documentation + Class: Typhoeus::Request - - - - - - - - - - + + + + + + - - -
-

class Typhoeus::Request

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/Typhoeus/Request/Cacheable.html b/doc_rdoc/Typhoeus/Request/Cacheable.html index 1d6bc096..046af9ba 100644 --- a/doc_rdoc/Typhoeus/Request/Cacheable.html +++ b/doc_rdoc/Typhoeus/Request/Cacheable.html @@ -1,353 +1,346 @@ - - - + + + - + -module Typhoeus::Request::Cacheable - RDoc Documentation + Module: Typhoeus::Request::Cacheable - - - - - - - - - - + + + + + + - - -
-

module Typhoeus::Request::Cacheable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- cache_key() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- - - - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Typhoeus::Request::Cacheable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/typhoeus_cache.rb, line 8
+          
+ cache_key() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/typhoeus_cache.rb, line 8
 def cache_key
   Digest::SHA2.hexdigest("#{url}-#{options[:body]}-#{options[:method]}")[0..32]
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Typhoeus/Response.html b/doc_rdoc/Typhoeus/Response.html index a59ba8c3..e27ff752 100644 --- a/doc_rdoc/Typhoeus/Response.html +++ b/doc_rdoc/Typhoeus/Response.html @@ -1,364 +1,359 @@ - - - + + + - + -class Typhoeus::Response - RDoc Documentation + Class: Typhoeus::Response - - - - - - - - - - + + + + + + - - -
-

class Typhoeus::Response

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- has_valid_hash?(error_404_hash, homepage_hash) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Typhoeus::Response

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ has_valid_hash?(error_404_hash, homepage_hash) + click to toggle source +
+ + +
+ +

Compare the body hash to error_404_hash and homepage_hash returns true if they are different, false otherwise

@return [ Boolean ]

- - + - -
-
# File lib/common/hacks.rb, line 40
+            
+            
+
+# File lib/common/hacks.rb, line 40
 def has_valid_hash?(error_404_hash, homepage_hash)
   body_hash = WebSite.page_hash(self)
 
   body_hash != error_404_hash && body_hash != homepage_hash
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/TyphoeusCache.html b/doc_rdoc/TyphoeusCache.html index 283807a2..72b47128 100644 --- a/doc_rdoc/TyphoeusCache.html +++ b/doc_rdoc/TyphoeusCache.html @@ -1,394 +1,389 @@ - - - + + + - + -class TyphoeusCache - RDoc Documentation + Class: TyphoeusCache - - - - - - - - - - + + + + + + - - -
-

class TyphoeusCache

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- get(request) +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ -
- + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

TyphoeusCache

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/typhoeus_cache.rb, line 17
+          
+ get(request) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/typhoeus_cache.rb, line 17
 def get(request)
   read_entry(request.cache_key)
 end
-
- -
+
+ +
- - - -
- - -
- -
- set(request, response) - - click to toggle source - -
- - -
- - - -
-
# File lib/common/typhoeus_cache.rb, line 21
+        
+ + +
+ + + +
+ set(request, response) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/typhoeus_cache.rb, line 21
 def set(request, response)
   write_entry(request.cache_key, response, request.cache_ttl)
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/URI.html b/doc_rdoc/URI.html index 339bf6d6..cd9bdbb4 100644 --- a/doc_rdoc/URI.html +++ b/doc_rdoc/URI.html @@ -1,387 +1,381 @@ - - - + + + - + -module URI - RDoc Documentation + Module: URI - - - - - - - - - - + + + + + + - - -
-

module URI

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- encode(str) -
- +
+ encode(str) + click to toggle source +
+ + +
+ + + + + +
-
- - - -
+
+ Alias for: escape +
+ +
- - - -
- Alias for: escape -
- -
- - -
- -
- escape(str) - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/common/hacks.rb, line 8
+          
+ escape(str) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/hacks.rb, line 8
 def escape(str)
   URI::Parser.new.escape(str)
 end
-
+
+ +
+ + +
+ Also aliased as: encode +
-
- -
- Also aliased as: encode -
- - - -
+ +
+ + - + - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Updater.html b/doc_rdoc/Updater.html index 0412f92e..0af74bfb 100644 --- a/doc_rdoc/Updater.html +++ b/doc_rdoc/Updater.html @@ -1,494 +1,491 @@ - - - + + + - + -class Updater - RDoc Documentation + Class: Updater - - - - - - - - - - + + + + + + - - -
-

class Updater

- -
- -

This class act as an absract one

- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- repo_directory[R] -
- -
- - - +
+
+

In Files

+
+ -
- +
- - -
-

Public Class Methods

- - -
+
+ + +
+

Parent

-
- new(repo_directory = nil) + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Updater

+ +
+ +

This class act as an absract one

+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ repo_directory[R] +
+ +
+ + + +
+
+ + + + +
+

Public Class Methods

+ + +
+ -
-

TODO : add a last ‘/ to #repo_directory if it’s +

+ new(repo_directory = nil) + click to toggle source +
+ + +
+ +

TODO : add a last ‘/ to repo_directory if it’s not present

- - + - -
-
# File lib/common/updater/updater.rb, line 8
+            
+            
+
+# File lib/common/updater/updater.rb, line 8
 def initialize(repo_directory = nil)
   @repo_directory = repo_directory
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- is_installed?() - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/common/updater/updater.rb, line 12
+          
+ is_installed?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/updater.rb, line 12
 def is_installed?
   raise NotImplementedError
 end
-
- -
+
+ +
- - - -
- - -
- -
- local_revision_number() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/updater/updater.rb, line 16
+        
+ + +
+ + + +
+ local_revision_number() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/updater.rb, line 16
 def local_revision_number
   raise NotImplementedError
 end
-
- -
+
+ +
- - - -
- - -
- -
- update() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/updater/updater.rb, line 20
+        
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/updater.rb, line 20
 def update
   raise NotImplementedError
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/UpdaterFactory.html b/doc_rdoc/UpdaterFactory.html index 7a0c56fe..228f30e0 100644 --- a/doc_rdoc/UpdaterFactory.html +++ b/doc_rdoc/UpdaterFactory.html @@ -1,338 +1,330 @@ - - - + + + - + -class UpdaterFactory - RDoc Documentation + Class: UpdaterFactory - - - - - - - - - - + + + + + + - - -
-

class UpdaterFactory

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- get_updater(repo_directory) +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ -
- + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

UpdaterFactory

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/common/updater/updater_factory.rb, line 4
+          
+ get_updater(repo_directory) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/updater/updater_factory.rb, line 4
 def self.get_updater(repo_directory)
   self.available_updaters_classes().each do |updater_symbol|
     updater = Object.const_get(updater_symbol).new(repo_directory)
@@ -343,65 +335,68 @@
   end
   nil
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Class Methods

+
+

Protected Class Methods

- -
- -
- available_updaters_classes() - - click to toggle source - -
- - -
- -

return array of class symbols

- - + +
+ -
-
# File lib/common/updater/updater_factory.rb, line 18
+          
+ available_updaters_classes() + click to toggle source +
+ + +
+ +

return array of class symbols

+ + + +
+
+# File lib/common/updater/updater_factory.rb, line 18
 def self.available_updaters_classes
   Object.constants.grep(/^.+Updater$/)
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/VersionCompare.html b/doc_rdoc/VersionCompare.html index 69bb1557..d758f2d0 100644 --- a/doc_rdoc/VersionCompare.html +++ b/doc_rdoc/VersionCompare.html @@ -1,341 +1,333 @@ - - - + + + - + -class VersionCompare - RDoc Documentation + Class: VersionCompare - - - - - - - - - - + + + + + + - - -
-

class VersionCompare

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- is_newer_or_same?(version1, version2) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

VersionCompare

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ is_newer_or_same?(version1, version2) + click to toggle source +
+ + +
+ +

Compares two version strings. Returns true if version1 is equal to version2 or when version1 is older than version2

@param [ String ] version1 @param [ String ] version2

@return [ Boolean ]

- - + - -
-
# File lib/common/version_compare.rb, line 11
+            
+            
+
+# File lib/common/version_compare.rb, line 11
 def self.is_newer_or_same?(version1, version2)
   return true if (version1 == version2)
   # Both versions must be set
@@ -350,26 +342,29 @@ or when version1 is older than version2

end return false end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Vulnerabilities.html b/doc_rdoc/Vulnerabilities.html index c4eba1fe..89778649 100644 --- a/doc_rdoc/Vulnerabilities.html +++ b/doc_rdoc/Vulnerabilities.html @@ -1,323 +1,330 @@ - - - + + + - + -class Vulnerabilities - RDoc Documentation + Class: Vulnerabilities - - - - - - - - - - + + + + + + - - -
-

class Vulnerabilities

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/Vulnerabilities/Output.html b/doc_rdoc/Vulnerabilities/Output.html index d9b8cac5..daa83f37 100644 --- a/doc_rdoc/Vulnerabilities/Output.html +++ b/doc_rdoc/Vulnerabilities/Output.html @@ -1,355 +1,348 @@ - - - + + + - + -module Vulnerabilities::Output - RDoc Documentation + Module: Vulnerabilities::Output - - - - - - - - - - + + + + + + - - -
-

module Vulnerabilities::Output

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- output() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- - - - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Vulnerabilities::Output

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/collections/vulnerabilities/output.rb, line 5
+          
+ output() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/collections/vulnerabilities/output.rb, line 5
 def output
   self.each do |v|
     v.output
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Vulnerability.html b/doc_rdoc/Vulnerability.html index 92d25504..73270405 100644 --- a/doc_rdoc/Vulnerability.html +++ b/doc_rdoc/Vulnerability.html @@ -1,476 +1,500 @@ - - - + + + - + -class Vulnerability - RDoc Documentation + Class: Vulnerability - - - - - - - - - - + + + + + + - - -
-

class Vulnerability

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

+
+ -
-
- fixed_in[RW] -
-
- - - -
-
-
-
- metasploit_modules[RW] -
-
- - - -
-
-
-
- references[RW] -
+ +
+

Attributes

-
- - -
-
- -
-
- title[RW] -
- -
- - - -
-
- -
-
- type[RW] -
- -
- - - -
-
- -
- - - - -
-

Public Class Methods

- - -
- -
- load_from_xml_node(xml_node) +
+ - click to toggle source + +
+ fixed_in[RW] +
+ +
+ + + +
- -
+
+ -

Create the Vulnerability from the xml_node

+ + +
+ metasploit_modules[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ references[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ title[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ type[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ load_from_xml_node(xml_node) + click to toggle source +
+ + +
+ +

Create the Vulnerability from the xml_node

@param [ Nokogiri::XML::Node ] xml_node

@return [ Vulnerability ]

- - + - -
-
# File lib/common/models/vulnerability.rb, line 43
+            
+            
+
+# File lib/common/models/vulnerability.rb, line 43
 def self.load_from_xml_node(xml_node)
   new(
     xml_node.search('title').text,
     xml_node.search('type').text,
-    xml_node.search('reference').map(&:text),
-    xml_node.search('metasploit').map(&:text),
+    xml_node.search('reference').map(&:text),
+    xml_node.search('metasploit').map(&:text),
     xml_node.search('fixed_in').text
   )
 end
-
- -
+
+ +
- - - -
- - -
- -
- new(title, type, references, metasploit_modules = [], fixed_in = '') - click to toggle source - -
- -
-

@param [ String ] title The title of the vulnerability @param [ String ] +

+ + +
+ + + +
+ new(title, type, references, metasploit_modules = [], fixed_in = '') + click to toggle source +
+ + +
+ +

@param [ String ] title The title of the vulnerability @param [ String ] type The type of the vulnerability @param [ Array ] references References urls @param [ Array ] #metasploit_modules +href="Vulnerability.html#attribute-i-metasploit_modules">metasploit_modules Metasploit modules for the vulnerability @param [ String ] #fixed_in Vuln fixed in +href="Vulnerability.html#attribute-i-fixed_in">fixed_in Vuln fixed in Version X

@return [ Vulnerability ]

- - + - -
-
# File lib/common/models/vulnerability.rb, line 17
+            
+            
+
+# File lib/common/models/vulnerability.rb, line 17
 def initialize(title, type, references, metasploit_modules = [], fixed_in = '')
   @title              = title
   @type               = type
@@ -478,44 +502,44 @@ Version X

@metasploit_modules = metasploit_modules @fixed_in = fixed_in end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- ==(other) - - click to toggle source - -
- + +
+ -
-

@param [ Vulnerability ] other

+
+ ==(other) + click to toggle source +
+ + +
+ +

@param [ Vulnerability ] other

@return [ Boolean ] :nocov:

- - + - -
-
# File lib/common/models/vulnerability.rb, line 29
+            
+            
+
+# File lib/common/models/vulnerability.rb, line 29
 def ==(other)
   title == other.title &&
       type == other.type &&
@@ -523,26 +547,29 @@ Version X

fixed_in == other.fixed_in && metasploit_modules == other.metasploit_modules end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/Vulnerability/Output.html b/doc_rdoc/Vulnerability/Output.html index d857842b..cce15f4f 100644 --- a/doc_rdoc/Vulnerability/Output.html +++ b/doc_rdoc/Vulnerability/Output.html @@ -1,373 +1,363 @@ - - - + + + - + -module Vulnerability::Output - RDoc Documentation + Module: Vulnerability::Output - - - - - - - - - - + + + + + + - - -
-

module Vulnerability::Output

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- metasploit_module_url(module_path) +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ] The url to the metasploit module page

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Vulnerability::Output

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/common/models/vulnerability/output.rb, line 18
+          
+ metasploit_module_url(module_path) + click to toggle source +
+ + +
+ +

@return [ String ] The url to the metasploit module page

+ + + +
+
+# File lib/common/models/vulnerability/output.rb, line 18
 def self.metasploit_module_url(module_path)
   # remove leading slash
   module_path = module_path.sub(/^\//, '')
   "http://www.metasploit.com/modules/#{module_path}"
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- output() - - click to toggle source - -
- - -
- -

output the vulnerability

- - + +
+ -
-
# File lib/common/models/vulnerability/output.rb, line 6
+          
+ output() + click to toggle source +
+ + +
+ +

output the vulnerability

+ + + +
+
+# File lib/common/models/vulnerability/output.rb, line 6
 def output
   puts ' |'
   puts ' | ' + red("* Title: #{title}")
@@ -378,26 +368,29 @@
     puts ' | ' + red("* Metasploit module: #{Output.metasploit_module_url(m)}")
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WebSite.html b/doc_rdoc/WebSite.html index e4f63a42..488ffc6d 100644 --- a/doc_rdoc/WebSite.html +++ b/doc_rdoc/WebSite.html @@ -1,507 +1,501 @@ - - - + + + - + -class WebSite - RDoc Documentation + Class: WebSite - - - - - - - - - - + + + + + + - - -
-

class WebSite

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- uri[R] -
- -
- - - +
+
+

In Files

+
+ -
- +
- - -
-

Public Class Methods

- - -
+
+ + +
+

Parent

-
- has_log?(log_url, pattern) + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WebSite

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ uri[R] +
+ +
+ + + +
+
+ + + + +
+

Public Class Methods

+ + +
+ -
-

Only the first 700 bytes are checked to avoid the download of the whole +

+ has_log?(log_url, pattern) + click to toggle source +
+ + +
+ +

Only the first 700 bytes are checked to avoid the download of the whole file which can be very huge (like 2 Go)

@param [ String ] log_url @param [ RegEx ] pattern

@return [ Boolean ]

- - + - -
-
# File lib/wpscan/web_site.rb, line 132
+            
+            
+
+# File lib/wpscan/web_site.rb, line 132
 def self.has_log?(log_url, pattern)
   log_body = Browser.get(log_url, headers: {'range' => 'bytes=0-700'}).body
   log_body[pattern] ? true : false
 end
-
- -
+
+ +
- - - -
- - -
- -
- new(site_url) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/web_site.rb, line 6
+        
+ + +
+ + + +
+ new(site_url) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/web_site.rb, line 6
 def initialize(site_url)
   self.url = site_url
 end
-
- -
+
+ +
- - - -
- - -
- -
- page_hash(page) - click to toggle source - -
- -
-

Compute the MD5 of the page Comments are deleted from the page to avoid +

+ + +
+ + + +
+ page_hash(page) + click to toggle source +
+ + +
+ +

Compute the MD5 of the page Comments are deleted from the page to avoid cache generation details

@param [ String, Typhoeus::Response ] page The url of the response of the page

@return [ String ] The MD5 hash of the page

- - + - -
-
# File lib/wpscan/web_site.rb, line 84
+            
+            
+
+# File lib/wpscan/web_site.rb, line 84
 def self.page_hash(page)
   page = Browser.get(page) unless page.is_a?(Typhoeus::Response)
 
   Digest::MD5.hexdigest(page.body.gsub(/<!--.*?-->/, ''))
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- error_404_hash() - - click to toggle source - -
- - -
- -

Return the MD5 hash of a 404 page

- - + +
+ -
-
# File lib/wpscan/web_site.rb, line 98
+          
+ error_404_hash() + click to toggle source +
+ + +
+ +

Return the MD5 hash of a 404 page

+ + + +
+
+# File lib/wpscan/web_site.rb, line 98
 def error_404_hash
   unless @error_404_hash
     non_existant_page = Digest::MD5.hexdigest(rand(999_999_999).to_s) + '.html'
@@ -509,205 +503,205 @@ page The url of the response of the page

end @error_404_hash end
-
- -
+
+ +
- - - -
- - -
- -
- has_basic_auth?() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/web_site.rb, line 23
+        
+ + +
+ + + +
+ has_basic_auth?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/web_site.rb, line 23
 def has_basic_auth?
   Browser.get(@uri.to_s).code == 401
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_robots?() - - click to toggle source - -
- - -
- -

Checks if a robots.txt file exists

- -
-
# File lib/wpscan/web_site.rb, line 114
+        
+ + +
+ + + +
+ has_robots?() + click to toggle source +
+ + +
+ +

Checks if a robots.txt file exists

+ + + +
+
+# File lib/wpscan/web_site.rb, line 114
 def has_robots?
   Browser.get(robots_url).code == 200
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_xml_rpc?() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/web_site.rb, line 27
+        
+ + +
+ + + +
+ has_xml_rpc?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/web_site.rb, line 27
 def has_xml_rpc?
   !xml_rpc_url.nil?
 end
-
- -
+
+ +
- - - -
- - -
- -
- homepage_hash() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/web_site.rb, line 90
+        
+ + +
+ + + +
+ homepage_hash() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/web_site.rb, line 90
 def homepage_hash
   unless @homepage_hash
     @homepage_hash = WebSite.page_hash(@uri.to_s)
   end
   @homepage_hash
 end
-
- -
+
+ +
- - - -
- - -
- -
- online?() - - click to toggle source - -
- - -
- -

Checks if the remote website is up.

- -
-
# File lib/wpscan/web_site.rb, line 19
+        
+ + +
+ + + +
+ online?() + click to toggle source +
+ + +
+ +

Checks if the remote website is up.

+ + + +
+
+# File lib/wpscan/web_site.rb, line 19
 def online?
   Browser.get(@uri.to_s).code != 0
 end
-
- -
+
+ +
- - - -
- - -
- -
- redirection(url = nil) - click to toggle source - -
- -
-

See if the remote url returns 30x redirect This method is recursive Return +

+ + +
+ + + +
+ redirection(url = nil) + click to toggle source +
+ + +
+ +

See if the remote url returns 30x redirect This method is recursive Return a string with the redirection or nil

- - + - -
-
# File lib/wpscan/web_site.rb, line 61
+            
+            
+
+# File lib/wpscan/web_site.rb, line 61
 def redirection(url = nil)
   redirection = nil
   url ||= @uri.to_s
@@ -724,244 +718,244 @@ a string with the redirection or nil

redirection end
-
- -
+
+ +
- - - -
- - -
- -
- robots_url() - click to toggle source - -
- -
-

Gets a robots.txt URL

+
+ + +
+ + + +
+ robots_url() + click to toggle source +
+ + +
+ +

Gets a robots.txt URL

@return [ String ]

- - + - -
-
# File lib/wpscan/web_site.rb, line 121
+            
+            
+
+# File lib/wpscan/web_site.rb, line 121
 def robots_url
   @uri.merge('robots.txt').to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- rss_url() - click to toggle source - -
- -
-

Will try to find the rss url in the homepage Only the first one found iw +

+ + +
+ + + +
+ rss_url() + click to toggle source +
+ + +
+ +

Will try to find the rss url in the homepage Only the first one found iw returned

- - + - -
-
# File lib/wpscan/web_site.rb, line 108
+            
+            
+
+# File lib/wpscan/web_site.rb, line 108
 def rss_url
   homepage_body = Browser.get(@uri.to_s).body
-  homepage_body[%r{<link .* type="application/rss\+xml" .* href="([^"]+)" />}, 1]
+  homepage_body[%{<link .* type="application/rss\+xml" .* href="([^"]+)" />}, 1]
 end
-
- -
+
+ +
- - - -
- - -
- -
- url() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/web_site.rb, line 14
+        
+ + +
+ + + +
+ url() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/web_site.rb, line 14
 def url
   @uri.to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- url=(url) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/web_site.rb, line 10
+        
+ + +
+ + + +
+ url=(url) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/web_site.rb, line 10
 def url=(url)
   @uri = URI.parse(add_trailing_slash(add_http_protocol(url)))
 end
-
- -
+
+ +
- - - -
- - -
- -
- xml_rpc_url() - click to toggle source - -
- -
-

See + + +

+ + + +
+ xml_rpc_url() + click to toggle source +
+ + +
+ +

See www.hixie.ch/specs/pingback/pingback-1.0#TOC2.3

- - + - -
-
# File lib/wpscan/web_site.rb, line 32
+            
+            
+
+# File lib/wpscan/web_site.rb, line 32
 def xml_rpc_url
   unless @xmlrpc_url
     @xmlrpc_url = xml_rpc_url_from_headers() || xml_rpc_url_from_body()
   end
   @xmlrpc_url
 end
-
- -
+
+ +
- - - -
- - -
- -
- xml_rpc_url_from_body() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/web_site.rb, line 52
+        
+ + +
+ + + +
+ xml_rpc_url_from_body() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/web_site.rb, line 52
 def xml_rpc_url_from_body
   body = Browser.get(@uri.to_s).body
 
-  body[%r{<link rel="pingback" href="([^"]+)" ?\/?>}, 1]
+  body[%{<link rel="pingback" href="([^"]+)" ?\/?>}, 1]
 end
-
- -
+
+ +
- - - -
- - -
- -
- xml_rpc_url_from_headers() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/web_site.rb, line 39
+        
+ + +
+ + + +
+ xml_rpc_url_from_headers() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/web_site.rb, line 39
 def xml_rpc_url_from_headers
   headers    = Browser.get(@uri.to_s).headers_hash
   xmlrpc_url = nil
@@ -974,26 +968,29 @@ href="http://www.hixie.ch/specs/pingback/pingback-1.0#TOC2.3">www.hixie.ch/specs
   end
   xmlrpc_url
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpItem.html b/doc_rdoc/WpItem.html index 68e20f3c..2c52bd53 100644 --- a/doc_rdoc/WpItem.html +++ b/doc_rdoc/WpItem.html @@ -1,488 +1,520 @@ - - - + + + - + -class WpItem - RDoc Documentation + Class: WpItem - - - - - - - - - - + + + + + + - - -
-

class WpItem

- -
- -
- - - - -
- +
+ +
- - - -
-

Attributes

+
+ -
-
- found_from[R] -
-
- - - -
-
-
-
- name[RW] -
-
- - - -
-
-
-
- path[R] -
+ +
+

Attributes

-
- - -
-
- -
-
- version[W] -
- -
- - - -
-
- -
-
- wp_content_dir[RW] -
- -
- - - -
-
- -
-
- wp_plugins_dir[RW] -
- -
- - - -
-
- -
- - - - -
-

Public Class Methods

- - -
- -
- new(target_base_uri, options = {}) +
+ - click to toggle source +
+ found_from[R] +
+ +
+ + +
- -
+
+ -

@param [ URI ] target_base_uri @param [ Hash ] + + +

+ name[RW] +
+ +
+ + + +
+
+ +
+ + +
+ path[R] +
+ +
+ + + +
+
+ +
+ + + + +
+ version[W] +
+ +
+ + + +
+
+ +
+ + + + +
+ wp_content_dir[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ wp_plugins_dir[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(target_base_uri, options = {}) + click to toggle source +
+ + +
+ +

@param [ URI ] target_base_uri @param [ Hash ] options See allowed_option

@return [ WpItem ]

- - + - -
-
# File lib/common/models/wp_item.rb, line 31
+            
+            
+
+# File lib/common/models/wp_item.rb, line 31
 def initialize(target_base_uri, options = {})
 
   options[:wp_content_dir] ||= 'wp-content'
@@ -491,243 +523,243 @@ options See allowed_option

set_options(options) forge_uri(target_base_uri) end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- <=>(other) - - click to toggle source - -
- - -
- -

@param [ WpItem ] other

- - + +
+ -
-
# File lib/common/models/wp_item.rb, line 88
+          
+ <=>(other) + click to toggle source +
+ + +
+ +

@param [ WpItem ] other

+ + + +
+
+# File lib/common/models/wp_item.rb, line 88
 def <=>(other)
   name <=> other.name
 end
-
- -
+
+ +
- - - -
- - -
- -
- ==(other) - - click to toggle source - -
- - -
- -

@param [ WpItem ] other

- -
-
# File lib/common/models/wp_item.rb, line 93
+        
+ + +
+ + + +
+ ==(other) + click to toggle source +
+ + +
+ +

@param [ WpItem ] other

+ + + +
+
+# File lib/common/models/wp_item.rb, line 93
 def ==(other)
   name === other.name
 end
-
- -
+
+ +
- - - -
- - -
- -
- ===(other) - - click to toggle source - -
- - -
- -

@param [ WpItem ] other

- -
-
# File lib/common/models/wp_item.rb, line 98
+        
+ + +
+ + + +
+ ===(other) + click to toggle source +
+ + +
+ +

@param [ WpItem ] other

+ + + +
+
+# File lib/common/models/wp_item.rb, line 98
 def ===(other)
   self == other && version === other.version
 end
-
- -
+
+ +
- - - -
- - -
- -
- allowed_options() - - click to toggle source - -
- - -
- -

@return [ Array ] Make it private ?

- -
-
# File lib/common/models/wp_item.rb, line 23
+        
+ + +
+ + + +
+ allowed_options() + click to toggle source +
+ + +
+ +

@return [ Array ] Make it private ?

+ + + +
+
+# File lib/common/models/wp_item.rb, line 23
 def allowed_options
   [:name, :wp_content_dir, :wp_plugins_dir, :path, :version, :vulns_file]
 end
-
- -
+
+ +
- - - -
- - -
- -
- forge_uri(target_base_uri) - click to toggle source - -
- -
-

@param [ URI ] target_base_uri

+
+ + +
+ + + +
+ forge_uri(target_base_uri) + click to toggle source +
+ + +
+ +

@param [ URI ] target_base_uri

@return [ void ]

- - + - -
-
# File lib/common/models/wp_item.rb, line 61
+            
+            
+
+# File lib/common/models/wp_item.rb, line 61
 def forge_uri(target_base_uri)
   @uri = target_base_uri
 end
-
- -
+
+ +
- - - -
- - -
- -
- found_from=(method) - click to toggle source - -
- -
-

Sets the #found_from +

+ + +
+ + + +
+ found_from=(method) + click to toggle source +
+ + +
+ +

Sets the found_from attribute

@param [ String ] method The method which found the WpItem

@return [ void ]

- - + - -
-
# File lib/common/models/wp_item/findable.rb, line 10
+            
+            
+
+# File lib/common/models/wp_item/findable.rb, line 10
 def found_from=(method)
-  found       = method[%r{find_from_(.*)}, 1]
+  found       = method[%{find_from_(.*)}, 1]
   @found_from = found.gsub('_', ' ') if found
 end
-
- -
+
+ +
- - - -
- - -
- -
- path=(path) - click to toggle source - -
- -
-

Sets the path

+
+ + +
+ + + +
+ path=(path) + click to toggle source +
+ + +
+ +

Sets the path

Variable, such as $wp-plugins$ and $wp-content$ can be used and will be replace by their value

@@ -735,102 +767,105 @@ replace by their value

@param [ String ] path

@return [ void ]

- - + - -
-
# File lib/common/models/wp_item.rb, line 81
+            
+            
+
+# File lib/common/models/wp_item.rb, line 81
 def path=(path)
   @path = URI.encode(
     path.gsub(/\$wp-plugins\$/, wp_plugins_dir).gsub(/\$wp-content\$/, wp_content_dir)
   )
 end
-
- -
+
+ +
- - - -
- - -
- -
- uri() - click to toggle source - -
- -
-

@return [ URI ] The uri to the + + +

+ + + +
+ uri() + click to toggle source +
+ + +
+ +

@return [ URI ] The uri to the WpItem, with the path if present

- - + - -
-
# File lib/common/models/wp_item.rb, line 66
+            
+            
+
+# File lib/common/models/wp_item.rb, line 66
 def uri
   path ? @uri.merge(path) : @uri
 end
-
- -
+
+ +
- - - -
- - -
- -
- url() - - click to toggle source - -
- - -
- -

@return [ String ] The url to the WpItem

- -
-
# File lib/common/models/wp_item.rb, line 71
+        
+ + +
+ + + +
+ url() + click to toggle source +
+ + +
+ +

@return [ String ] The url to the WpItem

+ + + +
+
+# File lib/common/models/wp_item.rb, line 71
 def url; uri.to_s end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpItem/Existable.html b/doc_rdoc/WpItem/Existable.html index 34a25f25..ae27d8ab 100644 --- a/doc_rdoc/WpItem/Existable.html +++ b/doc_rdoc/WpItem/Existable.html @@ -1,326 +1,316 @@ - - - + + + - + -module WpItem::Existable - RDoc Documentation + Module: WpItem::Existable - - - - - - - - - - + + + + + + - - -
-

module WpItem::Existable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- exists?(options = {}, response = nil) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpItem::Existable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ exists?(options = {}, response = nil) + click to toggle source +
+ + +
+ +

Check the existence of the WpItem If the response is supplied, it’s used for the verification Otherwise a new request is done

@@ -328,48 +318,48 @@ request is done

href="../Typhoeus/Response.html">Typhoeus::Response ] response

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_item/existable.rb, line 13
+            
+            
+
+# File lib/common/models/wp_item/existable.rb, line 13
 def exists?(options = {}, response = nil)
   unless response
     response = Browser.get(url)
   end
   exists_from_response?(response, options)
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- exists_from_response?(response, options = {}) - - click to toggle source - -
- + +
+ -
-

@param [ Typhoeus::Response ] +

+ exists_from_response?(response, options = {}) + click to toggle source +
+ + +
+ +

@param [ Typhoeus::Response ] response @param [ options ] options

@option options [ Hash ] :error_404_hash The hash of the error 404 page @@ -378,12 +368,12 @@ options [ Hash ] :exclude_content A regexp with the pattern to exclude from the body of the response

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_item/existable.rb, line 30
+            
+            
+
+# File lib/common/models/wp_item/existable.rb, line 30
 def exists_from_response?(response, options = {})
   if [200, 401, 403].include?(response.code)
     if response.has_valid_hash?(options[:error_404_hash], options[:homepage_hash])
@@ -398,26 +388,29 @@ the body of the response

end false end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpItem/Findable.html b/doc_rdoc/WpItem/Findable.html index fadc78c0..b777108f 100644 --- a/doc_rdoc/WpItem/Findable.html +++ b/doc_rdoc/WpItem/Findable.html @@ -1,304 +1,297 @@ - - - + + + - + -module WpItem::Findable - RDoc Documentation + Module: WpItem::Findable - - - - - - - - - - + + + + + + - - -
-

module WpItem::Findable

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/WpItem/Infos.html b/doc_rdoc/WpItem/Infos.html index cf91bf40..337e36b5 100644 --- a/doc_rdoc/WpItem/Infos.html +++ b/doc_rdoc/WpItem/Infos.html @@ -1,613 +1,606 @@ - - - + + + - + -module WpItem::Infos - RDoc Documentation + Module: WpItem::Infos - - - - - - - - - - + + + + + + - - -
-

module WpItem::Infos

- -
- +
+

@uri is used instead of uri to avoid the presence of the :path into it

-
- - - - -
- +
- - +
+ - - -
-

Public Instance Methods

+ - -
- -
- changelog_url() - - click to toggle source - -
- + -
- -

@return [ String ] The url to the changelog file

- - + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_item/infos.rb, line 36
+          
+ changelog_url() + click to toggle source +
+ + +
+ +

@return [ String ] The url to the changelog file

+ + + +
+
+# File lib/common/models/wp_item/infos.rb, line 36
 def changelog_url
   @uri.merge('changelog.txt').to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- error_log_url() - - click to toggle source - -
- - -
- -

@return [ String ] The url to the error_log file

- -
-
# File lib/common/models/wp_item/infos.rb, line 57
+        
+ + +
+ + + +
+ error_log_url() + click to toggle source +
+ + +
+ +

@return [ String ] The url to the error_log file

+ + + +
+
+# File lib/common/models/wp_item/infos.rb, line 57
 def error_log_url
   @uri.merge('error_log').to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_changelog?() - - click to toggle source - -
- - -
- -

@return [ Boolean ]

- -
-
# File lib/common/models/wp_item/infos.rb, line 22
+        
+ + +
+ + + +
+ has_changelog?() + click to toggle source +
+ + +
+ +

@return [ Boolean ]

+ + + +
+
+# File lib/common/models/wp_item/infos.rb, line 22
 def has_changelog?
   url_is_200?(changelog_url)
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_directory_listing?() - - click to toggle source - -
- - -
- -

@return [ Boolean ]

- -
-
# File lib/common/models/wp_item/infos.rb, line 41
+        
+ + +
+ + + +
+ has_directory_listing?() + click to toggle source +
+ + +
+ +

@return [ Boolean ]

+ + + +
+
+# File lib/common/models/wp_item/infos.rb, line 41
 def has_directory_listing?
-  Browser.get(@uri.to_s).body[%r{<title>Index of}] ? true : false
+  Browser.get(@uri.to_s).body[%{<title>Index of}] ? true : false
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_error_log?() - click to toggle source - -
- -
-

Discover any error_log files created by WordPress These are created by the +

+ + +
+ + + +
+ has_error_log?() + click to toggle source +
+ + +
+ +

Discover any error_log files created by WordPress These are created by the WordPress error_log() function They are normally found in the /plugins/ directory, however can also be found in their specific plugin dir. www.exploit-db.com/ghdb/3714/

+href="http://www.exploit-db.com/ghdb/3714/">www.exploit-db.com/ghdb/3714/

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_item/infos.rb, line 52
+            
+            
+
+# File lib/common/models/wp_item/infos.rb, line 52
 def has_error_log?
-  WebSite.has_log?(error_log_url, %r{PHP Fatal error})
+  WebSite.has_log?(error_log_url, %{PHP Fatal error})
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_readme?() - - click to toggle source - -
- - -
- -

@return [ Boolean ]

- -
-
# File lib/common/models/wp_item/infos.rb, line 8
+        
+ + +
+ + + +
+ has_readme?() + click to toggle source +
+ + +
+ +

@return [ Boolean ]

+ + + +
+
+# File lib/common/models/wp_item/infos.rb, line 8
 def has_readme?
   !readme_url.nil?
 end
-
- -
+
+ +
- - - -
- - -
- -
- readme_url() - - click to toggle source - -
- - -
- -

@return [ String,nil ] The url to the readme file, nil if not found

- -
-
# File lib/common/models/wp_item/infos.rb, line 13
+        
+ + +
+ + + +
+ readme_url() + click to toggle source +
+ + +
+ +

@return [ String,nil ] The url to the readme file, nil if not found

+ + + +
+
+# File lib/common/models/wp_item/infos.rb, line 13
 def readme_url
-  %w{readme.txt README.txt}.each do |readme|
+  %{readme.txt README.txt}.each do |readme|
     url = @uri.merge(readme).to_s
     return url if url_is_200?(url)
   end
   nil
 end
-
- -
+
+ +
- - - -
- - -
- -
- url_is_200?(url) - click to toggle source - -
- -
-

Checks if the url status code is 200

+
+ + +
+ + + +
+ url_is_200?(url) + click to toggle source +
+ + +
+ +

Checks if the url status code is 200

@param [ String ] url

@return [ Boolean ] True if the url status is 200

- - + - -
-
# File lib/common/models/wp_item/infos.rb, line 31
+            
+            
+
+# File lib/common/models/wp_item/infos.rb, line 31
 def url_is_200?(url)
   Browser.get(url).code == 200
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- -
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpItem/Output.html b/doc_rdoc/WpItem/Output.html index 407a5911..54ddb0e1 100644 --- a/doc_rdoc/WpItem/Output.html +++ b/doc_rdoc/WpItem/Output.html @@ -1,330 +1,320 @@ - - - + + + - + -module WpItem::Output - RDoc Documentation + Module: WpItem::Output - - - - - - - - - - + + + + + + - - -
-

module WpItem::Output

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- output() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ Void ]

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpItem::Output

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_item/output.rb, line 6
+          
+ output() + click to toggle source +
+ + +
+ +

@return [ Void ]

+ + + +
+
+# File lib/common/models/wp_item/output.rb, line 6
 def output
   puts
   puts " | Name: #{self}" #this will also output the version number if detected
@@ -340,26 +330,29 @@
     puts ' | ' + red('[!]') + " An error_log file has been found : #{error_log_url}"
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpItem/Versionable.html b/doc_rdoc/WpItem/Versionable.html index 63b47d7a..b0e94e55 100644 --- a/doc_rdoc/WpItem/Versionable.html +++ b/doc_rdoc/WpItem/Versionable.html @@ -1,398 +1,391 @@ - - - + + + - + -module WpItem::Versionable - RDoc Documentation + Module: WpItem::Versionable - - - - - - - - - - + + + + + + - - -
-

module WpItem::Versionable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- to_s() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ]

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpItem::Versionable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_item/versionable.rb, line 22
+          
+ to_s() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/models/wp_item/versionable.rb, line 22
 def to_s
   item_version = self.version
   "#@name#{' v' + item_version.strip if item_version}"
 end
-
- -
+
+ +
- - - -
- - -
- -
- version() - click to toggle source - -
- -
-

Get the version from the readme.txt

+
+ + +
+ + + +
+ version() + click to toggle source +
+ + +
+ +

Get the version from the readme.txt

@return [ String ] The version number

- - + - -
-
# File lib/common/models/wp_item/versionable.rb, line 10
+            
+            
+
+# File lib/common/models/wp_item/versionable.rb, line 10
 def version
   unless @version
     # This check is needed because readme_url can return nil

     if has_readme?
       response = Browser.get(readme_url)
-      @version = response.body[%r{stable tag: #{WpVersion.version_pattern}}, 1]
+      @version = response.body[%{stable tag: #{WpVersion.version_pattern}}, 1]
     end
   end
   @version
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpItem/Vulnerable.html b/doc_rdoc/WpItem/Vulnerable.html index 8ee03f6e..458272aa 100644 --- a/doc_rdoc/WpItem/Vulnerable.html +++ b/doc_rdoc/WpItem/Vulnerable.html @@ -1,368 +1,366 @@ - - - + + + - + -module WpItem::Vulnerable - RDoc Documentation + Module: WpItem::Vulnerable - - - - - - - - - - + + + + + + - - -
-

module WpItem::Vulnerable

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- vulns_file[RW] -
- -
- - - +
+ - -
-
- vulns_xpath[RW] -
-
- - - -
+ +
+ +
+ + + + + + + + +
+

Methods

+
-
- - - -
-

Public Instance Methods

+ +
- -
+
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpItem::Vulnerable

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ - click to toggle source + +
+ vulns_file[RW] +
+ +
+ + + +
- -
+
+ -

Get the vulnerabilities associated to the + +

+ vulns_xpath[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ vulnerabilities() + click to toggle source +
+ + +
+ +

Get the vulnerabilities associated to the WpItem Filters out already fixed vulnerabilities

@return [ Vulnerabilities ]

- - + - -
-
# File lib/common/models/wp_item/vulnerable.rb, line 10
+            
+            
+
+# File lib/common/models/wp_item/vulnerable.rb, line 10
 def vulnerabilities
   xml             = xml(vulns_file)
   vulnerabilities = Vulnerabilities.new
@@ -375,41 +373,41 @@ href="../WpItem.html">WpItem Filters out already fixed vulnerabilities

end vulnerabilities end
-
- -
+
+ +
- - - -
- - -
- -
- vulnerable_to?(vuln) - click to toggle source - -
- -
-

Checks if a item is vulnerable to a specific vulnerability

+
+ + +
+ + + +
+ vulnerable_to?(vuln) + click to toggle source +
+ + +
+ +

Checks if a item is vulnerable to a specific vulnerability

@param [ Vulnerability ] vuln Vulnerability to check the item against

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_item/vulnerable.rb, line 28
+            
+            
+
+# File lib/common/models/wp_item/vulnerable.rb, line 28
 def vulnerable_to?(vuln)
   if version && vuln && vuln.fixed_in && !vuln.fixed_in.empty?
     unless VersionCompare::is_newer_or_same?(vuln.fixed_in, version)
@@ -420,26 +418,29 @@ href="../Vulnerability.html">Vulnerability to check the item against

end return false end
-
+
+ +
+ -
- - - -
+ +
+ +
- +
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpItems.html b/doc_rdoc/WpItems.html index a2ece235..060b6f3d 100644 --- a/doc_rdoc/WpItems.html +++ b/doc_rdoc/WpItems.html @@ -1,336 +1,597 @@ - - - + + + - + -class WpItems - RDoc Documentation + Class: WpItems - - - - - - - - - - + + + + + + - - -
-

class WpItems

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/WpItems/Detectable.html b/doc_rdoc/WpItems/Detectable.html index 37ef4914..ec038374 100644 --- a/doc_rdoc/WpItems/Detectable.html +++ b/doc_rdoc/WpItems/Detectable.html @@ -1,384 +1,380 @@ - - - + + + - + -module WpItems::Detectable - RDoc Documentation + Module: WpItems::Detectable - - - - - - - - - - + + + + + + - - -
-

module WpItems::Detectable

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
-
- item_xpath[R] -
- -
- - - +
+ - -
-
- vulns_file[R] -
-
- - - -
+ +
+ +
- - - -
-

Public Instance Methods

+ +
- -
+
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpItems::Detectable

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ - click to toggle source +
+ item_xpath[R] +
+ +
+ + +
- -
+
+ -

@param [ WpTarget ] wp_target @param [ Hash +

+ vulns_file[R] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Instance Methods

+ + +
+ + + +
+ aggressive_detection(wp_target, options = {}) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target @param [ Hash ] options @option options [ Boolean ] :show_progression Whether or not output the progress bar @option options [ Boolean ] :only_vulnerable Only check for vulnerable items @option options [ String ] :exclude_content

@return [ WpItems ]

- - + - -
-
# File lib/common/collections/wp_items/detectable.rb, line 14
+            
+            
+
+# File lib/common/collections/wp_items/detectable.rb, line 14
 def aggressive_detection(wp_target, options = {})
   browser          = Browser.instance
   hydra            = browser.hydra
@@ -387,7 +383,7 @@ check for vulnerable items @option options [ String ]  :exclude_content

exist_options = { error_404_hash: wp_target.error_404_hash, homepage_hash: wp_target.homepage_hash, - exclude_content: options[:exclude_content] ? %r{#{options[:exclude_content]}} : nil + exclude_content: options[:exclude_content] ? %{#{options[:exclude_content]}} : nil } # If we only want the vulnerable ones, the passive detection is ignored @@ -414,53 +410,49 @@ check for vulnerable items @option options [ String ] :exclude_content

results.sort! results # can't just return results.sort because the #sort returns an array, and we want a WpItems end
-
- -
+
+ +
- - - -
- - -
- -
- passive_detection(wp_target, options = {}) - click to toggle source - -
- -
-

@param [ WpTarget ] wp_target @param [ Hash +

+ + +
+ + + +
+ passive_detection(wp_target, options = {}) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target @param [ Hash ] options

@return [ WpItems ]

- - + - -
-
# File lib/common/collections/wp_items/detectable.rb, line 70
+            
+            
+
+# File lib/common/collections/wp_items/detectable.rb, line 70
 def passive_detection(wp_target, options = {})
   results      = new
   item_class   = self.item_class
   type         = self.to_s.gsub(/Wp/, '').downcase
   response     = Browser.get(wp_target.url)
-  item_options = {
-    wp_content_dir: wp_target.wp_content_dir,
-    wp_plugins_dir: wp_target.wp_plugins_dir,
-    vulns_file:     self.vulns_file
-  }
+  item_options = self.item_options(wp_target)
 
-  regex1 = %r{(?:[^=:]+)\s?(?:=|:)\s?(?:"|')[^"']+\?/}
-  regex2 = %r{\?/}
-  regex3 = %r{\?/([^/\"']+)\?(?:/|"|')}
+  regex1 = %{(?:[^=:]+)\s?(?:=|:)\s?(?:"|')[^"']+\\?/}
+  regex2 = %{\\?/}
+  regex3 = %{\\?/([^/\\"']+)\\?(?:/|"|')}
 
   names = response.body.scan(/#{regex1}#{Regexp.escape(wp_target.wp_content_dir)}#{regex2}#{Regexp.escape(type)}#{regex3}/)
 
@@ -471,38 +463,38 @@ check for vulnerable items @option options [ String ]  :exclude_content

results.sort! results end
-
- -
+
+ +
- - - -
- - -
- -
- progress_bar(targets_size, options) - click to toggle source - -
- -
-

@param [ Integer ] targets_size @param [ Hash ] options

+
+ + +
+ + + +
+ progress_bar(targets_size, options) + click to toggle source +
+ + +
+ +

@param [ Integer ] targets_size @param [ Hash ] options

@return [ ProgressBar ] :nocov:

- - + - -
-
# File lib/common/collections/wp_items/detectable.rb, line 55
+            
+            
+
+# File lib/common/collections/wp_items/detectable.rb, line 55
 def progress_bar(targets_size, options)
   if options[:show_progression]
     ProgressBar.create(
@@ -512,46 +504,46 @@ check for vulnerable items @option options [ String ]  :exclude_content

) end end
-
+
+ +
+ -
- - - -
+ +
+ +
- - -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- create_item(klass, name, wp_target, vulns_file = nil) - - click to toggle source - -
- + +
+ -
-

@param [ Class ] klass @param [ String ] name @param [ + create_item(klass, name, wp_target, vulns_file = nil) + click to toggle source +

+ + +
+ +

@param [ Class ] klass @param [ String ] name @param [ WpTarget ] wp_target @option [ String ] #vulns_file

+href="Detectable.html#attribute-i-vulns_file">vulns_file

@return [ WpItem ]

- - + - -
-
# File lib/common/collections/wp_items/detectable.rb, line 152
+            
+            
+
+# File lib/common/collections/wp_items/detectable.rb, line 159
 def create_item(klass, name, wp_target, vulns_file = nil)
   klass.new(
     wp_target.uri,
@@ -561,106 +553,145 @@ href="Detectable.html#attribute-i-vulns_file">#vulns_file

wp_plugins_dir: wp_target.wp_plugins_dir ) end
-
- -
+
+ +
- - - -
- - -
- -
- item_class() - - click to toggle source - -
- - -
- -

@return [ Class ]

- -
-
# File lib/common/collections/wp_items/detectable.rb, line 185
+        
+ + +
+ + + +
+ item_class() + click to toggle source +
+ + +
+ +

@return [ Class ]

+ + + +
+
+# File lib/common/collections/wp_items/detectable.rb, line 192
 def item_class
   Object.const_get(self.to_s.gsub(/.$/, ''))
 end
-
- -
+
+ +
- - - -
- - -
- -
- request_params() - click to toggle source - -
- -
-

The default request parameters

+
+ + +
+ + + +
+ item_options(wp_target) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target

@return [ Hash ]

- + + + +
+
+# File lib/common/collections/wp_items/detectable.rb, line 96
+def item_options(wp_target)
+  {
+    wp_content_dir: wp_target.wp_content_dir,
+    wp_plugins_dir: wp_target.wp_plugins_dir,
+    vulns_file:     self.vulns_file
+  }
+end
+
+ +
+ -
-
# File lib/common/collections/wp_items/detectable.rb, line 100
+        
+ + +
+ + + +
+ request_params() + click to toggle source +
+ + +
+ +

The default request parameters

+ +

@return [ Hash ]

+ + + +
+
+# File lib/common/collections/wp_items/detectable.rb, line 107
 def request_params; { cache_ttl: 0, followlocation: true } end
-
- -
+
+ +
- - - -
- - -
- -
- targets_items(wp_target, options = {}) - click to toggle source - -
- -
-

@param [ WpTarget ] wp_target @param [ +

+ + +
+ + + +
+ targets_items(wp_target, options = {}) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target @param [ options ] options @option options [ Boolean ] :only_vulnerable @option options [ String ] :file The path to the file containing the targets

@return [ Array<WpItem> ]

- - + - -
-
# File lib/common/collections/wp_items/detectable.rb, line 108
+            
+            
+
+# File lib/common/collections/wp_items/detectable.rb, line 115
 def targets_items(wp_target, options = {})
   item_class = self.item_class
   vulns_file = self.vulns_file
@@ -678,41 +709,41 @@ options [ String ]  :file The path to the file containing the targets

targets.uniq! { |t| t.name } targets.sort_by { rand } end
-
- -
+
+ +
- - - -
- - -
- -
- targets_items_from_file(file, wp_target, item_class, vulns_file) - click to toggle source - -
- -
-

@param [ String ] file @param [ WpTarget ] +

+ + +
+ + + +
+ targets_items_from_file(file, wp_target, item_class, vulns_file) + click to toggle source +
+ + +
+ +

@param [ String ] file @param [ WpTarget ] wp_target @param [ Class ] #item_class @param [ String -] #vulns_file

+href="Detectable.html#method-i-item_class">item_class @param [ String ] +vulns_file

-

@return [ WpItem ]

- - +

@return [ Array<WpItem> ]

+ - -
-
# File lib/common/collections/wp_items/detectable.rb, line 168
+            
+            
+
+# File lib/common/collections/wp_items/detectable.rb, line 175
 def targets_items_from_file(file, wp_target, item_class, vulns_file)
   targets = []
 
@@ -728,40 +759,40 @@ href="Detectable.html#method-i-item_class">#item_class @param [ String
   end
   targets
 end
-
- -
+
+ +
- - - -
- - -
- -
- vulnerable_targets_items(wp_target, item_class, vulns_file) - click to toggle source - -
- -
-

@param [ WpTarget ] wp_target @param [ Class -] #item_class @param [ -String ] #vulns_file

+
+ + +
+ + + +
+ vulnerable_targets_items(wp_target, item_class, vulns_file) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target @param [ Class +] item_class @param [ +String ] vulns_file

@return [ Array<WpItem> ]

- - + - -
-
# File lib/common/collections/wp_items/detectable.rb, line 131
+            
+            
+
+# File lib/common/collections/wp_items/detectable.rb, line 138
 def vulnerable_targets_items(wp_target, item_class, vulns_file)
   targets = []
   xml     = xml(vulns_file)
@@ -776,26 +807,29 @@ String ] #vulns_file

end targets end
-
+
+ +
+ -
- - - -
+ +
+ +
- + - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpItems/Output.html b/doc_rdoc/WpItems/Output.html index 09774135..9283a2bf 100644 --- a/doc_rdoc/WpItems/Output.html +++ b/doc_rdoc/WpItems/Output.html @@ -1,353 +1,346 @@ - - - + + + - + -module WpItems::Output - RDoc Documentation + Module: WpItems::Output - - - - - - - - - - + + + + + + - - -
-

module WpItems::Output

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- output() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- - - - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpItems::Output

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/collections/wp_items/output.rb, line 5
+          
+ output() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/collections/wp_items/output.rb, line 5
 def output
   self.each { |item| item.output }
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpPlugin.html b/doc_rdoc/WpPlugin.html index e54fd87d..f0083e1a 100644 --- a/doc_rdoc/WpPlugin.html +++ b/doc_rdoc/WpPlugin.html @@ -1,377 +1,384 @@ - - - + + + - + -class WpPlugin - RDoc Documentation + Class: WpPlugin - - - - - - - - - - + + + + + + - - -
-

class WpPlugin

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- forge_uri(target_base_uri) +
+
+

In Files

+ - +
-
+ +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpPlugin

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ forge_uri(target_base_uri) + click to toggle source +
+ + +
+ +

Sets the @uri

@param [ URI ] target_base_uri The URI of the wordpress blog

@return [ void ]

- - + - -
-
# File lib/common/models/wp_plugin.rb, line 12
+            
+            
+
+# File lib/common/models/wp_plugin.rb, line 12
 def forge_uri(target_base_uri)
   @uri = target_base_uri.merge(URI.encode(wp_plugins_dir + '/' + name + '/'))
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpPlugin/Vulnerable.html b/doc_rdoc/WpPlugin/Vulnerable.html index 6f744d2d..f87a162c 100644 --- a/doc_rdoc/WpPlugin/Vulnerable.html +++ b/doc_rdoc/WpPlugin/Vulnerable.html @@ -1,391 +1,384 @@ - - - + + + - + -module WpPlugin::Vulnerable - RDoc Documentation + Module: WpPlugin::Vulnerable - - - - - - - - - - + + + + + + - - -
-

module WpPlugin::Vulnerable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- vulns_file() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ] The path to the file containing vulnerabilities

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpPlugin::Vulnerable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_plugin/vulnerable.rb, line 6
+          
+ vulns_file() + click to toggle source +
+ + +
+ +

@return [ String ] The path to the file containing vulnerabilities

+ + + +
+
+# File lib/common/models/wp_plugin/vulnerable.rb, line 6
 def vulns_file
   unless @vulns_file
     @vulns_file = PLUGINS_VULNS_FILE
   end
   @vulns_file
 end
-
- -
+
+ +
- - - -
- - -
- -
- vulns_xpath() - - click to toggle source - -
- - -
- -

@return [ String ]

- -
-
# File lib/common/models/wp_plugin/vulnerable.rb, line 14
+        
+ + +
+ + + +
+ vulns_xpath() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/models/wp_plugin/vulnerable.rb, line 14
 def vulns_xpath
   "//plugin[@name='#{@name}']/vulnerability"
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpPlugins.html b/doc_rdoc/WpPlugins.html index e97a0c6a..35ae2cf9 100644 --- a/doc_rdoc/WpPlugins.html +++ b/doc_rdoc/WpPlugins.html @@ -1,323 +1,318 @@ - - - + + + - + -class WpPlugins - RDoc Documentation + Class: WpPlugins - - - - - - - - - - + + + + + + - - -
-

class WpPlugins

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/WpPlugins/Detectable.html b/doc_rdoc/WpPlugins/Detectable.html index 960310a1..9b56cbc6 100644 --- a/doc_rdoc/WpPlugins/Detectable.html +++ b/doc_rdoc/WpPlugins/Detectable.html @@ -1,388 +1,528 @@ - - - + + + - + -module WpPlugins::Detectable - RDoc Documentation + Module: WpPlugins::Detectable - - - - - - - - - - + + + + + + - - -
-

module WpPlugins::Detectable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- item_xpath() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ]

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpPlugins::Detectable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/collections/wp_plugins/detectable.rb, line 11
+          
+ item_xpath() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/collections/wp_plugins/detectable.rb, line 11
 def item_xpath
   '//plugin'
 end
-
- -
+
+ +
- - - -
- - -
- -
- vulns_file() - - click to toggle source - -
- - -
- -

@return [ String ]

- -
-
# File lib/common/collections/wp_plugins/detectable.rb, line 6
+        
+ + +
+ + + +
+ passive_detection(wp_target, options = {}) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target @param [ Hash +] options

+ +

@return [ WpPlugins ]

+ + + +
+
+# File lib/common/collections/wp_plugins/detectable.rb, line 19
+def passive_detection(wp_target, options = {})
+  detected = super(wp_target, options)
+
+  detected += from_header(wp_target)
+  detected += from_content(wp_target)
+
+  detected.uniq! { |i| i.name }
+  detected
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ vulns_file() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/collections/wp_plugins/detectable.rb, line 6
 def vulns_file
   PLUGINS_VULNS_FILE
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
+

Protected Instance Methods

+ + +
+ + + +
+ from_content(wp_target) + click to toggle source +
+ + +
+ +

<!– Cached page generated by WP-Super-Cache on 2013-05-03 14:46:37 –> +<!– Performance optimized by W3 Total Cache. @param [ WpTarget ] wp_target

+ +

@return [ WpPlugins ]

+ + + +
+
+# File lib/common/collections/wp_plugins/detectable.rb, line 59
+def from_content(wp_target)
+  body       = Browser.get(wp_target.url).body
+  wp_plugins = WpPlugins.new(wp_target)
+
+  wp_plugins.add('wp-super-cache') if body =~ /wp-super-cache/
+  wp_plugins.add('w3-total-cache') if body =~ /w3 total cache/
+
+  wp_plugins
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ from_header(wp_target) + click to toggle source +
+ + +
+ +

X-Powered-By: W3 Total Cache/0.9.2.5 WP-Super-Cache: Served supercache file +from PHP @param [ WpTarget ] wp_target

+ +

@return [ WpPlugins ]

+ + + +
+
+# File lib/common/collections/wp_plugins/detectable.rb, line 36
+def from_header(wp_target)
+  headers    = Browser.get(wp_target.url).headers
+  wp_plugins = WpPlugins.new(wp_target)
+
+  if headers
+    powered_by     = headers['X-Powered-By'].to_s
+    wp_super_cache = headers['wp-super-cache'].to_s
+
+    if matches = /W3 Total Cache\/([0-9.]+)/.match(powered_by)
+      wp_plugins.add('w3-total-cache', version: matches[1])
+    end
+
+    wp_plugins.add('wp-super-cache') if wp_super_cache =~ /supercache/
+  end
+
+  wp_plugins
+end
+
+ +
+ + + + +
+ + +
+ +
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTarget.html b/doc_rdoc/WpTarget.html index 2bac6351..c8ba3cd9 100644 --- a/doc_rdoc/WpTarget.html +++ b/doc_rdoc/WpTarget.html @@ -1,425 +1,458 @@ - - - + + + - + -class WpTarget - RDoc Documentation + Class: WpTarget - - - - - - - - - - + + + + + + - - -
-

class WpTarget

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
- +
- - -
-

Public Class Methods

- - -
+
+ + +
+

Parent

-
- new(target_url, options = {}) + + +
+ + + + + + +
+

Namespace

+ +
+ + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTarget

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + +
+ verbose[R] +
+ +
+ + + +
+
+ -
- - - - -
- Calls superclass method - WebSite.new -
- + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/wpscan/wp_target.rb, line 22
+          
+ new(target_url, options = {}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target.rb, line 24
 def initialize(target_url, options = {})
   super(target_url)
 
@@ -430,145 +463,145 @@
 
   Browser.instance(options.merge(:max_threads => options[:threads]))
 end
-
- -
+
+ +
- - - -
- - -
- -
- valid_response_codes() - - click to toggle source - -
- - -
- -

Valid HTTP return codes

- -
-
# File lib/wpscan/wp_target.rb, line 72
+        
+ + +
+ + + +
+ valid_response_codes() + click to toggle source +
+ + +
+ +

Valid HTTP return codes

+ + + +
+
+# File lib/wpscan/wp_target.rb, line 74
 def self.valid_response_codes
   [200, 301, 302, 401, 403, 500, 400]
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- debug_log_url() - - click to toggle source - -
- - -
- -

@return [ String ]

- - + +
+ -
-
# File lib/wpscan/wp_target.rb, line 114
+          
+ debug_log_url() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/wpscan/wp_target.rb, line 116
 def debug_log_url
   @uri.merge("#{wp_content_dir()}/debug.log").to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_debug_log?() - - click to toggle source - -
- - -
- -

@return [ Boolean ]

- -
-
# File lib/wpscan/wp_target.rb, line 109
+        
+ + +
+ + + +
+ has_debug_log?() + click to toggle source +
+ + +
+ +

@return [ Boolean ]

+ + + +
+
+# File lib/wpscan/wp_target.rb, line 111
 def has_debug_log?
-  WebSite.has_log?(debug_log_url, %r{\[[^\]]+\] PHP (?:Warning|Error|Notice):})
+  WebSite.has_log?(debug_log_url, %{\[[^\]]+\] PHP (?:Warning|Error|Notice):})
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_plugin?(name, version = nil) - click to toggle source - -
- -
-

The version is not yet considerated

+
+ + +
+ + + +
+ has_plugin?(name, version = nil) + click to toggle source +
+ + +
+ +

The version is not yet considerated

@param [ String ] name @param [ String ] version

@return [ Boolean ]

- - + - -
-
# File lib/wpscan/wp_target.rb, line 98
+            
+            
+
+# File lib/wpscan/wp_target.rb, line 100
 def has_plugin?(name, version = nil)
   WpPlugin.new(
     @uri,
@@ -578,36 +611,36 @@
     wp_plugins_dir: wp_plugins_dir
   ).exists?
 end
-
- -
+
+ +
- - - -
- - -
- -
- login_url() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wp_target.rb, line 59
+        
+ + +
+ + + +
+ login_url() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target.rb, line 61
 def login_url
   url = @uri.merge('wp-login.php').to_s
 
@@ -619,175 +652,175 @@
 
   url
 end
-
- -
+
+ +
- - - -
- - -
- -
- search_replace_db_2_exists?() - - click to toggle source - -
- - -
- -

@return [ Boolean ]

- -
-
# File lib/wpscan/wp_target.rb, line 128
+        
+ + +
+ + + +
+ search_replace_db_2_exists?() + click to toggle source +
+ + +
+ +

@return [ Boolean ]

+ + + +
+
+# File lib/wpscan/wp_target.rb, line 130
 def search_replace_db_2_exists?
   resp = Browser.get(search_replace_db_2_url)
-  resp.code == 200 && resp.body[%r{by interconnect}]
+  resp.code == 200 && resp.body[%{by interconnect}]
 end
-
- -
+
+ +
- - - -
- - -
- -
- search_replace_db_2_url() - click to toggle source - -
- -
-

Script for replacing strings in wordpress databases reveals databse +

+ + +
+ + + +
+ search_replace_db_2_url() + click to toggle source +
+ + +
+ +

Script for replacing strings in wordpress databases reveals databse credentials after hitting submit interconnectit.com/124/search-and-replace-for-wordpress-databases/

+href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases/">interconnectit.com/124/search-and-replace-for-wordpress-databases/

@return [ String ]

- - + - -
-
# File lib/wpscan/wp_target.rb, line 123
+            
+            
+
+# File lib/wpscan/wp_target.rb, line 125
 def search_replace_db_2_url
   @uri.merge('searchreplacedb2.php').to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- theme() - - click to toggle source - -
- - -
- -

@return [ WpTheme ] :nocov:

- -
-
# File lib/wpscan/wp_target.rb, line 78
+        
+ + +
+ + + +
+ theme() + click to toggle source +
+ + +
+ +

@return [ WpTheme ] :nocov:

+ + + +
+
+# File lib/wpscan/wp_target.rb, line 80
 def theme
   WpTheme.find(@uri)
 end
-
- -
+
+ +
- - - -
- - -
- -
- version(versions_xml) - click to toggle source - -
- -
-

@param [ String ] versions_xml

+
+ + +
+ + + +
+ version(versions_xml) + click to toggle source +
+ + +
+ +

@param [ String ] versions_xml

@return [ WpVersion ] :nocov:

- - + - -
-
# File lib/wpscan/wp_target.rb, line 87
+            
+            
+
+# File lib/wpscan/wp_target.rb, line 89
 def version(versions_xml)
   WpVersion.find(@uri, wp_content_dir, wp_plugins_dir, versions_xml)
 end
-
- -
+
+ +
- - - -
- - -
- -
- wordpress?() - - click to toggle source - -
- - -
- -

check if the target website is actually running wordpress.

- -
-
# File lib/wpscan/wp_target.rb, line 35
+        
+ + +
+ + + +
+ wordpress?() + click to toggle source +
+ + +
+ +

check if the target website is actually running wordpress.

+ + + +
+
+# File lib/wpscan/wp_target.rb, line 37
 def wordpress?
   wordpress = false
 
@@ -798,12 +831,12 @@ href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases">
   else
     response = Browser.get_and_follow_location(xml_rpc_url)
 
-    if response.body =~ %r{XML-RPC server accepts POST requests only}
+    if response.body =~ %{XML-RPC server accepts POST requests only}
       wordpress = true
     else
       response = Browser.get_and_follow_location(login_url)
 
-      if response.code == 200 && response.body =~ %r{WordPress}
+      if response.code == 200 && response.body =~ %{WordPress}
         wordpress = true
       end
     end
@@ -811,26 +844,29 @@ href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases">
 
   wordpress
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTarget/Malwares.html b/doc_rdoc/WpTarget/Malwares.html index 4f34abc3..cfb49e45 100644 --- a/doc_rdoc/WpTarget/Malwares.html +++ b/doc_rdoc/WpTarget/Malwares.html @@ -1,442 +1,432 @@ - - - + + + - + -module WpTarget::Malwares - RDoc Documentation + Module: WpTarget::Malwares - - - - - - - - - - + + + + + + - - -
-

module WpTarget::Malwares

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- malware_pattern(url_regex) +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- - - - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTarget::Malwares

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/wpscan/wp_target/malwares.rb, line 43
+          
+ malware_pattern(url_regex) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/malwares.rb, line 43
 def self.malware_pattern(url_regex)
   # no need to escape regex here, because malware.txt contains regex
-  %r{<(?:script|iframe).* src=(?:"|')(#{url_regex}[^"']*)(?:"|')[^>]*>}
+  %{<(?:script|iframe).* src=(?:"|')(#{url_regex}[^"']*)(?:"|')[^>]*>}
 end
-
- -
+
+ +
- - - -
- - -
- -
- malwares_file(malwares_file_path) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wp_target/malwares.rb, line 39
+        
+ + +
+ + + +
+ malwares_file(malwares_file_path) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/malwares.rb, line 39
 def self.malwares_file(malwares_file_path)
   malwares_file_path || DATA_DIR + '/malwares.txt'
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- has_malwares?(malwares_file_path = nil) - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpscan/wp_target/malwares.rb, line 10
+          
+ has_malwares?(malwares_file_path = nil) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/malwares.rb, line 10
 def has_malwares?(malwares_file_path = nil)
   !malwares(malwares_file_path).empty?
 end
-
- -
+
+ +
- - - -
- - -
- -
- malwares(malwares_file_path = nil) - - click to toggle source - -
- - -
- -

return array of string (url of malwares found)

- -
-
# File lib/wpscan/wp_target/malwares.rb, line 15
+        
+ + +
+ + + +
+ malwares(malwares_file_path = nil) + click to toggle source +
+ + +
+ +

return array of string (url of malwares found)

+ + + +
+
+# File lib/wpscan/wp_target/malwares.rb, line 15
 def malwares(malwares_file_path = nil)
   unless @malwares
     malwares_found = []
@@ -460,26 +450,29 @@
   end
   @malwares
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTarget/WpConfigBackup.html b/doc_rdoc/WpTarget/WpConfigBackup.html index 875a219f..3516d74e 100644 --- a/doc_rdoc/WpTarget/WpConfigBackup.html +++ b/doc_rdoc/WpTarget/WpConfigBackup.html @@ -1,377 +1,367 @@ - - - + + + - + -module WpTarget::WpConfigBackup - RDoc Documentation + Module: WpTarget::WpConfigBackup - - - - - - - - - - + + + + + + - - -
-

module WpTarget::WpConfigBackup

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- config_backup_files() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return Array

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTarget::WpConfigBackup

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ -
-
# File lib/wpscan/wp_target/wp_config_backup.rb, line 40
+          
+ config_backup_files() + click to toggle source +
+ + +
+ +

@return Array

+ + + +
+
+# File lib/wpscan/wp_target/wp_config_backup.rb, line 40
 def self.config_backup_files
-  %w{
+  %{
     wp-config.php~ #wp-config.php# wp-config.php.save wp-config.php.swp wp-config.php.swo wp-config.php_bak
     wp-config.bak wp-config.php.bak wp-config.save wp-config.old wp-config.php.old wp-config.php.orig
     wp-config.orig wp-config.php.original wp-config.original wp-config.txt
   } # thanks to Feross.org for these
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- config_backup() - - click to toggle source - -
- + +
+ -
-

Checks to see if wp-config.php has a backup See www.feross.org/cmsploit/ return +

+ config_backup() + click to toggle source +
+ + +
+ +

Checks to see if wp-config.php has a backup See www.feross.org/cmsploit/ return an array of backup config files url

- - + - -
-
# File lib/wpscan/wp_target/wp_config_backup.rb, line 8
+            
+            
+
+# File lib/wpscan/wp_target/wp_config_backup.rb, line 8
 def config_backup
   found       = []
   backups     = WpConfigBackup.config_backup_files
@@ -384,7 +374,7 @@ an array of backup config files url

request = browser.forge_request(file_url) request.on_complete do |response| - if response.body[%r{define}] and not response.body[%r{<\s?html}] + if response.body[%{define}] and not response.body[%{<\s?html}] found << file_url end end @@ -402,26 +392,29 @@ an array of backup config files url

found end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTarget/WpCustomDirectories.html b/doc_rdoc/WpTarget/WpCustomDirectories.html index 858e8837..e48f2c7d 100644 --- a/doc_rdoc/WpTarget/WpCustomDirectories.html +++ b/doc_rdoc/WpTarget/WpCustomDirectories.html @@ -1,336 +1,326 @@ - - - + + + - + -module WpTarget::WpCustomDirectories - RDoc Documentation + Module: WpTarget::WpCustomDirectories - - - - - - - - - - + + + + + + - - -
-

module WpTarget::WpCustomDirectories

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- default_wp_content_dir_exists?() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ Boolean ]

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTarget::WpCustomDirectories

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/wpscan/wp_target/wp_custom_directories.rb, line 23
+          
+ default_wp_content_dir_exists?() + click to toggle source +
+ + +
+ +

@return [ Boolean ]

+ + + +
+
+# File lib/wpscan/wp_target/wp_custom_directories.rb, line 23
 def default_wp_content_dir_exists?
   response = Browser.get(@uri.merge('wp-content').to_s)
   hash = Digest::MD5.hexdigest(response.body)
@@ -341,36 +331,36 @@
 
   false
 end
-
- -
+
+ +
- - - -
- - -
- -
- wp_content_dir() - - click to toggle source - -
- - -
- -

@return [ String ] The wp-content directory

- -
-
# File lib/wpscan/wp_target/wp_custom_directories.rb, line 6
+        
+ + +
+ + + +
+ wp_content_dir() + click to toggle source +
+ + +
+ +

@return [ String ] The wp-content directory

+ + + +
+
+# File lib/wpscan/wp_target/wp_custom_directories.rb, line 6
 def wp_content_dir
   unless @wp_content_dir
     index_body = Browser.get(@uri.to_s).body
@@ -386,95 +376,98 @@
 
   @wp_content_dir
 end
-
- -
+
+ +
- - - -
- - -
- -
- wp_plugins_dir() - - click to toggle source - -
- - -
- -

@return [ String ] The wp-plugins directory

- -
-
# File lib/wpscan/wp_target/wp_custom_directories.rb, line 35
+        
+ + +
+ + + +
+ wp_plugins_dir() + click to toggle source +
+ + +
+ +

@return [ String ] The wp-plugins directory

+ + + +
+
+# File lib/wpscan/wp_target/wp_custom_directories.rb, line 35
 def wp_plugins_dir
   unless @wp_plugins_dir
     @wp_plugins_dir = "#{wp_content_dir}/plugins"
   end
   @wp_plugins_dir
 end
-
- -
+
+ +
- - - -
- - -
- -
- wp_plugins_dir_exists?() - - click to toggle source - -
- - -
- -

@return [ Boolean ]

- -
-
# File lib/wpscan/wp_target/wp_custom_directories.rb, line 43
+        
+ + +
+ + + +
+ wp_plugins_dir_exists?() + click to toggle source +
+ + +
+ +

@return [ Boolean ]

+ + + +
+
+# File lib/wpscan/wp_target/wp_custom_directories.rb, line 43
 def wp_plugins_dir_exists?
   Browser.get(@uri.merge(wp_plugins_dir).to_s).code != 404
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTarget/WpFullPathDisclosure.html b/doc_rdoc/WpTarget/WpFullPathDisclosure.html index baf2a89b..909e3582 100644 --- a/doc_rdoc/WpTarget/WpFullPathDisclosure.html +++ b/doc_rdoc/WpTarget/WpFullPathDisclosure.html @@ -1,391 +1,384 @@ - - - + + + - + -module WpTarget::WpFullPathDisclosure - RDoc Documentation + Module: WpTarget::WpFullPathDisclosure - - - - - - - - - - + + + + + + - - -
-

module WpTarget::WpFullPathDisclosure

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- full_path_disclosure_url() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ]

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTarget::WpFullPathDisclosure

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/wpscan/wp_target/wp_full_path_disclosure.rb, line 14
+          
+ full_path_disclosure_url() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/wpscan/wp_target/wp_full_path_disclosure.rb, line 14
 def full_path_disclosure_url
   @uri.merge('wp-includes/rss-functions.php').to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_full_path_disclosure?() - click to toggle source - -
- -
-

Check for Full Path Disclosure (FPD)

+
+ + +
+ + + +
+ has_full_path_disclosure?() + click to toggle source +
+ + +
+ +

Check for Full Path Disclosure (FPD)

@return [ Boolean ]

- - + - -
-
# File lib/wpscan/wp_target/wp_full_path_disclosure.rb, line 8
+            
+            
+
+# File lib/wpscan/wp_target/wp_full_path_disclosure.rb, line 8
 def has_full_path_disclosure?
   response = Browser.get(full_path_disclosure_url())
-  response.body[%r{Fatal error}] ? true : false
+  response.body[%{Fatal error}] ? true : false
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTarget/WpLoginProtection.html b/doc_rdoc/WpTarget/WpLoginProtection.html index 18594f56..83aec58a 100644 --- a/doc_rdoc/WpTarget/WpLoginProtection.html +++ b/doc_rdoc/WpTarget/WpLoginProtection.html @@ -1,407 +1,397 @@ - - - + + + - + -module WpTarget::WpLoginProtection - RDoc Documentation + Module: WpTarget::WpLoginProtection - - - - - - - - - - + + + + + + - - -
-

module WpTarget::WpLoginProtection

- -
- -
- - - - -
- - - - - - -
-

Constants

-
- -
LOGIN_PROTECTION_METHOD_PATTERN - -
- - -
-
- - - - - - -
-

Public Instance Methods

- - -
- -
- has_login_protection?() +
+
+

In Files

+
+
+
+ + +
+ + + +
+ + +
+

Files

+ +
+ -
- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTarget::WpLoginProtection

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
LOGIN_PROTECTION_METHOD_PATTERN
+
+ +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 9
+          
+ has_login_protection?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 9
 def has_login_protection?
   !login_protection_plugin().nil?
 end
-
- -
+
+ +
- - - -
- - -
- -
- login_protection_plugin() - click to toggle source - -
- -
-

Checks if a login protection plugin is enabled + + +

+ + + +
+ login_protection_plugin() + click to toggle source +
+ + +
+ +

Checks if a login protection plugin is enabled code.google.com/p/wpscan/issues/detail?id=111 return a WpPlugin object or nil if no one is found

- - + - -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 16
+            
+            
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 16
 def login_protection_plugin
   unless @login_protection_plugin
     protected_methods.grep(LOGIN_PROTECTION_METHOD_PATTERN).each do |symbol_to_call|
@@ -421,412 +411,412 @@ found

end @login_protection_plugin end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- better_wp_security_url() - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 62
+          
+ better_wp_security_url() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 62
 def better_wp_security_url
   plugin_url('better-wp-security/')
 end
-
- -
+
+ +
- - - -
- - -
- -
- bluetrait_event_viewer_url() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 98
+        
+ + +
+ + + +
+ bluetrait_event_viewer_url() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 98
 def bluetrait_event_viewer_url
   plugin_url('bluetrait-event-viewer')
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_better_wp_security_protection?() - - click to toggle source - -
- - -
- -

wordpress.org/extend/plugins/better-wp-security/

- -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 49
+        
+ + +
+ + + +
+ has_better_wp_security_protection?() + click to toggle source +
+ + +
+ +

wordpress.org/extend/plugins/better-wp-security/

+ + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 49
 def has_better_wp_security_protection?
   Browser.get(better_wp_security_url).code != 404
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_bluetrait_event_viewer_protection?() - - click to toggle source - -
- - -
- -

wordpress.org/extend/plugins/bluetrait-event-viewer/

- -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 94
+        
+ + +
+ + + +
+ has_bluetrait_event_viewer_protection?() + click to toggle source +
+ + +
+ +

wordpress.org/extend/plugins/bluetrait-event-viewer/

+ + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 94
 def has_bluetrait_event_viewer_protection?
   Browser.get(bluetrait_event_viewer_url).code != 404
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_limit_login_attempts_protection?() - - click to toggle source - -
- - -
- -

wordpress.org/extend/plugins/limit-login-attempts/

- -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 85
+        
+ + +
+ + + +
+ has_limit_login_attempts_protection?() + click to toggle source +
+ + +
+ +

wordpress.org/extend/plugins/limit-login-attempts/

+ + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 85
 def has_limit_login_attempts_protection?
   Browser.get(limit_login_attempts_url).code != 404
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_login_lock_protection?() - - click to toggle source - -
- - -
- -

wordpress.org/extend/plugins/login-lock/

- -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 44
+        
+ + +
+ + + +
+ has_login_lock_protection?() + click to toggle source +
+ + +
+ +

wordpress.org/extend/plugins/login-lock/

+ + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 44
 def has_login_lock_protection?
-  Browser.get(login_url).body =~ %r{LOGIN LOCK} ? true : false
+  Browser.get(login_url).body =~ %{LOGIN LOCK} ? true : false
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_login_lockdown_protection?() - - click to toggle source - -
- - -
- -

Thanks to Alip Aswalid for providing this method. wordpress.org/extend/plugins/login-lockdown/

- -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 39
+        
+ + +
+ + + +
+ has_login_lockdown_protection?() + click to toggle source +
+ + +
+ +

Thanks to Alip Aswalid for providing this method. wordpress.org/extend/plugins/login-lockdown/

+ + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 39
 def has_login_lockdown_protection?
-  Browser.get(login_url).body =~ %r{Login LockDown} ? true : false
+  Browser.get(login_url).body =~ %{Login LockDown} ? true : false
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_login_security_solution_protection?() - - click to toggle source - -
- - -
- -

wordpress.org/extend/plugins/login-security-solution/

- -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 76
+        
+ + +
+ + + +
+ has_login_security_solution_protection?() + click to toggle source +
+ + +
+ +

wordpress.org/extend/plugins/login-security-solution/

+ + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 76
 def has_login_security_solution_protection?
   Browser.get(login_security_solution_url()).code != 404
 end
-
- -
+
+ +
- - - -
- - -
- -
- has_simple_login_lockdown_protection?() - - click to toggle source - -
- - -
- -

wordpress.org/extend/plugins/simple-login-lockdown/

- -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 67
+        
+ + +
+ + + +
+ has_simple_login_lockdown_protection?() + click to toggle source +
+ + +
+ +

wordpress.org/extend/plugins/simple-login-lockdown/

+ + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 67
 def has_simple_login_lockdown_protection?
   Browser.get(simple_login_lockdown_url).code != 404
 end
-
- -
+
+ +
- - - -
- - -
- -
- limit_login_attempts_url() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 89
+        
+ + +
+ + + +
+ limit_login_attempts_url() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 89
 def limit_login_attempts_url
   plugin_url('limit-login-attempts')
 end
-
- -
+
+ +
- - - -
- - -
- -
- login_security_solution_url() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 80
+        
+ + +
+ + + +
+ login_security_solution_url() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 80
 def login_security_solution_url
   plugin_url('login-security-solution')
 end
-
- -
+
+ +
- - - -
- - -
- -
- plugin_url(plugin_name) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 53
+        
+ + +
+ + + +
+ plugin_url(plugin_name) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 53
 def plugin_url(plugin_name)
   WpPlugin.new(
     @uri,
@@ -835,59 +825,62 @@ href="http://wordpress.org/extend/plugins/simple-login-lockdown">wordpress.org/e
     wp_plugins_dir: wp_plugins_dir
   ).url
 end
-
- -
+
+ +
- - - -
- - -
- -
- simple_login_lockdown_url() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wp_target/wp_login_protection.rb, line 71
+        
+ + +
+ + + +
+ simple_login_lockdown_url() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wp_target/wp_login_protection.rb, line 71
 def simple_login_lockdown_url
   plugin_url('simple-login-lockdown/')
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTarget/WpReadme.html b/doc_rdoc/WpTarget/WpReadme.html index 7f96a781..1b2fe197 100644 --- a/doc_rdoc/WpTarget/WpReadme.html +++ b/doc_rdoc/WpTarget/WpReadme.html @@ -1,398 +1,391 @@ - - - + + + - + -module WpTarget::WpReadme - RDoc Documentation + Module: WpTarget::WpReadme - - - - - - - - - - + + + + + + - - -
-

module WpTarget::WpReadme

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- has_readme?() +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTarget::WpReadme

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ has_readme?() + click to toggle source +
+ + +
+ +

Checks to see if the readme.html file exists

This file comes by default in a wordpress installation, and if deleted is reinstated with an upgrade.

@return [ Boolean ]

- - + - -
-
# File lib/wpscan/wp_target/wp_readme.rb, line 11
+            
+            
+
+# File lib/wpscan/wp_target/wp_readme.rb, line 11
 def has_readme?
   response = Browser.get(readme_url())
 
   unless response.code == 404
-    return response.body =~ %r{wordpress} ? true : false
+    return response.body =~ %{wordpress} ? true : false
   end
   false
 end
-
- -
+
+ +
- - - -
- - -
- -
- readme_url() - - click to toggle source - -
- - -
- -

@return [ String ] The readme URL

- -
-
# File lib/wpscan/wp_target/wp_readme.rb, line 21
+        
+ + +
+ + + +
+ readme_url() + click to toggle source +
+ + +
+ +

@return [ String ] The readme URL

+ + + +
+
+# File lib/wpscan/wp_target/wp_readme.rb, line 21
 def readme_url
   @uri.merge('readme.html').to_s
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTarget/WpRegistrable.html b/doc_rdoc/WpTarget/WpRegistrable.html index 1765b99f..d6d10c33 100644 --- a/doc_rdoc/WpTarget/WpRegistrable.html +++ b/doc_rdoc/WpTarget/WpRegistrable.html @@ -1,334 +1,324 @@ - - - + + + - + -module WpTarget::WpRegistrable - RDoc Documentation + Module: WpTarget::WpRegistrable - - - - - - - - - - + + + + + + - - -
-

module WpTarget::WpRegistrable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- multisite?() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ Boolean ]

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTarget::WpRegistrable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/wpscan/wp_target/wp_registrable.rb, line 32
+          
+ multisite?() + click to toggle source +
+ + +
+ +

@return [ Boolean ]

+ + + +
+
+# File lib/wpscan/wp_target/wp_registrable.rb, line 32
 def multisite?
   unless @multisite
     # when multi site, there is no redirection or a redirect to the site itself
@@ -347,38 +337,38 @@
   end
   @multisite
 end
-
- -
+
+ +
- - - -
- - -
- -
- registration_enabled?() - click to toggle source - -
- -
-

Should check wp-login.php if registration is enabled or not

+
+ + +
+ + + +
+ registration_enabled?() + click to toggle source +
+ + +
+ +

Should check wp-login.php if registration is enabled or not

@return [ Boolean ]

- - + - -
-
# File lib/wpscan/wp_target/wp_registrable.rb, line 8
+            
+            
+
+# File lib/wpscan/wp_target/wp_registrable.rb, line 8
 def registration_enabled?
   resp = Browser.get(registration_url)
   # redirect only on non multi sites
@@ -396,59 +386,62 @@
   end
   enabled
 end
-
- -
+
+ +
- - - -
- - -
- -
- registration_url() - - click to toggle source - -
- - -
- -

@return [ String ] The registration URL

- -
-
# File lib/wpscan/wp_target/wp_registrable.rb, line 27
+        
+ + +
+ + + +
+ registration_url() + click to toggle source +
+ + +
+ +

@return [ String ] The registration URL

+ + + +
+
+# File lib/wpscan/wp_target/wp_registrable.rb, line 27
 def registration_url
   multisite? ? @uri.merge('wp-signup.php').to_s : @uri.merge('wp-login.php?action=register').to_s
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTheme.html b/doc_rdoc/WpTheme.html index fd27b958..597e4cc2 100644 --- a/doc_rdoc/WpTheme.html +++ b/doc_rdoc/WpTheme.html @@ -1,491 +1,493 @@ - - - + + + - + -class WpTheme - RDoc Documentation + Class: WpTheme - - - - - - - - - - + + + + + + - - -
-

class WpTheme

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
- +
- - -
-

Public Instance Methods

- - -
+
+ + +
+

Parent

-
- allowed_options() + + +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTheme

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + + + +
+ style_url[W] +
+ +
+ + + +
+
+ -
- - - - -
- Calls superclass method - WpItem#allowed_options -
- + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_theme.rb, line 13
+          
+ allowed_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/models/wp_theme.rb, line 13
 def allowed_options; super << :style_url end
-
- -
+
+ +
- - - -
- - -
- -
- forge_uri(target_base_uri) - click to toggle source - -
- -
-

Sets the @uri

+
+ + +
+ + + +
+ forge_uri(target_base_uri) + click to toggle source +
+ + +
+ +

Sets the @uri

@param [ URI ] target_base_uri The URI of the wordpress blog

@return [ void ]

- - + - -
-
# File lib/common/models/wp_theme.rb, line 20
+            
+            
+
+# File lib/common/models/wp_theme.rb, line 20
 def forge_uri(target_base_uri)
   @uri = target_base_uri.merge(URI.encode(wp_content_dir + '/themes/' + name + '/'))
 end
-
- -
+
+ +
- - - -
- - -
- -
- style_url() - - click to toggle source - -
- - -
- -

@return [ String ] The url to the theme stylesheet

- -
-
# File lib/common/models/wp_theme.rb, line 25
+        
+ + +
+ + + +
+ style_url() + click to toggle source +
+ + +
+ +

@return [ String ] The url to the theme stylesheet

+ + + +
+
+# File lib/common/models/wp_theme.rb, line 25
 def style_url
   unless @style_url
     @style_url = uri.merge('style.css').to_s
   end
   @style_url
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTheme/Findable.html b/doc_rdoc/WpTheme/Findable.html index 27acaf5d..55f1c521 100644 --- a/doc_rdoc/WpTheme/Findable.html +++ b/doc_rdoc/WpTheme/Findable.html @@ -1,338 +1,328 @@ - - - + + + - + -module WpTheme::Findable - RDoc Documentation + Module: WpTheme::Findable - - - - - - - - - - + + + + + + - - -
-

module WpTheme::Findable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- find(target_uri) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTheme::Findable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ find(target_uri) + click to toggle source +
+ + +
+ +

Find the main theme of the blog

@param [ URI ] target_uri

@return [ WpTheme ]

- - + - -
-
# File lib/common/models/wp_theme/findable.rb, line 10
+            
+            
+
+# File lib/common/models/wp_theme/findable.rb, line 10
 def find(target_uri)
   methods.grep(/^find_from_/).each do |method|
     if wp_theme = self.send(method, target_uri)
@@ -343,51 +333,51 @@
   end
   nil
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- - -
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTheme/Versionable.html b/doc_rdoc/WpTheme/Versionable.html index dc8d31a6..b3bb49fd 100644 --- a/doc_rdoc/WpTheme/Versionable.html +++ b/doc_rdoc/WpTheme/Versionable.html @@ -1,364 +1,352 @@ - - - + + + - + -module WpTheme::Versionable - RDoc Documentation + Module: WpTheme::Versionable - - - - - - - - - - + + + + + + - - -
-

module WpTheme::Versionable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- version() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- - - - -
- Calls superclass method - -
- +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTheme::Versionable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_theme/versionable.rb, line 5
+          
+ version() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/models/wp_theme/versionable.rb, line 5
 def version
   unless @version
-    @version = Browser.get(style_url).body[%r{Version:\s([^\s]+)}, 1]
+    @version = Browser.get(style_url).body[%{Version:\s([^\s]+)}, 1]
 
     # Get Version from readme.txt

     @version ||= super
   end
   @version
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTheme/Vulnerable.html b/doc_rdoc/WpTheme/Vulnerable.html index 3f0367bd..f2029cae 100644 --- a/doc_rdoc/WpTheme/Vulnerable.html +++ b/doc_rdoc/WpTheme/Vulnerable.html @@ -1,391 +1,384 @@ - - - + + + - + -module WpTheme::Vulnerable - RDoc Documentation + Module: WpTheme::Vulnerable - - - - - - - - - - + + + + + + - - -
-

module WpTheme::Vulnerable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- vulns_file() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ] The path to the file containing vulnerabilities

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTheme::Vulnerable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_theme/vulnerable.rb, line 6
+          
+ vulns_file() + click to toggle source +
+ + +
+ +

@return [ String ] The path to the file containing vulnerabilities

+ + + +
+
+# File lib/common/models/wp_theme/vulnerable.rb, line 6
 def vulns_file
   unless @vulns_file
     @vulns_file = THEMES_VULNS_FILE
   end
   @vulns_file
 end
-
- -
+
+ +
- - - -
- - -
- -
- vulns_xpath() - - click to toggle source - -
- - -
- -

@return [ String ]

- -
-
# File lib/common/models/wp_theme/vulnerable.rb, line 14
+        
+ + +
+ + + +
+ vulns_xpath() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/models/wp_theme/vulnerable.rb, line 14
 def vulns_xpath
   "//theme[@name='#{@name}']/vulnerability"
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpThemes.html b/doc_rdoc/WpThemes.html index d5a8e696..3d46b1bf 100644 --- a/doc_rdoc/WpThemes.html +++ b/doc_rdoc/WpThemes.html @@ -1,323 +1,318 @@ - - - + + + - + -class WpThemes - RDoc Documentation + Class: WpThemes - - - - - - - - - - + + + + + + - - -
-

class WpThemes

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/WpThemes/Detectable.html b/doc_rdoc/WpThemes/Detectable.html index c0c337c6..7137898f 100644 --- a/doc_rdoc/WpThemes/Detectable.html +++ b/doc_rdoc/WpThemes/Detectable.html @@ -1,388 +1,381 @@ - - - + + + - + -module WpThemes::Detectable - RDoc Documentation + Module: WpThemes::Detectable - - - - - - - - - - + + + + + + - - -
-

module WpThemes::Detectable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- item_xpath() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ]

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpThemes::Detectable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/collections/wp_themes/detectable.rb, line 11
+          
+ item_xpath() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/collections/wp_themes/detectable.rb, line 11
 def item_xpath
   '//theme'
 end
-
- -
+
+ +
- - - -
- - -
- -
- vulns_file() - - click to toggle source - -
- - -
- -

@return [ String ]

- -
-
# File lib/common/collections/wp_themes/detectable.rb, line 6
+        
+ + +
+ + + +
+ vulns_file() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/collections/wp_themes/detectable.rb, line 6
 def vulns_file
   THEMES_VULNS_FILE
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTimthumb.html b/doc_rdoc/WpTimthumb.html index a070153d..5b889090 100644 --- a/doc_rdoc/WpTimthumb.html +++ b/doc_rdoc/WpTimthumb.html @@ -1,384 +1,399 @@ - - - + + + - + -class WpTimthumb - RDoc Documentation + Class: WpTimthumb - - - - - - - - - - + + + + + + - - -
-

class WpTimthumb

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- ==(other) +
+ -
+ +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTimthumb

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ ==(other) + click to toggle source +
+ + +
+ +

@param [ WpTimthumb ] other

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_timthumb.rb, line 14
+            
+            
+
+# File lib/common/models/wp_timthumb.rb, line 14
 def ==(other)
   url == other.url
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTimthumb/Existable.html b/doc_rdoc/WpTimthumb/Existable.html index d4964cd5..ed6c7bee 100644 --- a/doc_rdoc/WpTimthumb/Existable.html +++ b/doc_rdoc/WpTimthumb/Existable.html @@ -1,356 +1,349 @@ - - - + + + - + -module WpTimthumb::Existable - RDoc Documentation + Module: WpTimthumb::Existable - - - - - - - - - - + + + + + + - - -
-

module WpTimthumb::Existable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- exists_from_response?(response, options = {}) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTimthumb::Existable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ exists_from_response?(response, options = {}) + click to toggle source +
+ + +
+ +

@param [ Typhoeus::Response ] response @param [ Hash ] options

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_timthumb/existable.rb, line 9
+            
+            
+
+# File lib/common/models/wp_timthumb/existable.rb, line 9
 def exists_from_response?(response, options = {})
   response.code == 400 && response.body =~ /no image specified/ ? true : false
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTimthumb/Output.html b/doc_rdoc/WpTimthumb/Output.html index 0f355d53..1e3136a7 100644 --- a/doc_rdoc/WpTimthumb/Output.html +++ b/doc_rdoc/WpTimthumb/Output.html @@ -1,353 +1,346 @@ - - - + + + - + -module WpTimthumb::Output - RDoc Documentation + Module: WpTimthumb::Output - - - - - - - - - - + + + + + + - - -
-

module WpTimthumb::Output

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- output() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- - - - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTimthumb::Output

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_timthumb/output.rb, line 5
+          
+ output() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/models/wp_timthumb/output.rb, line 5
 def output
   puts ' | ' + red('[!]') + " #{self}"
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTimthumb/Versionable.html b/doc_rdoc/WpTimthumb/Versionable.html index 9dab6ac2..8a8af1a1 100644 --- a/doc_rdoc/WpTimthumb/Versionable.html +++ b/doc_rdoc/WpTimthumb/Versionable.html @@ -1,395 +1,388 @@ - - - + + + - + -module WpTimthumb::Versionable - RDoc Documentation + Module: WpTimthumb::Versionable - - - - - - - - - - + + + + + + - - -
-

module WpTimthumb::Versionable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- to_s() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ]

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTimthumb::Versionable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_timthumb/versionable.rb, line 18
+          
+ to_s() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/models/wp_timthumb/versionable.rb, line 18
 def to_s
   "#{url}#{ ' v' + version if version}"
 end
-
- -
+
+ +
- - - -
- - -
- -
- version() - click to toggle source - -
- -
-

Get the version from the body of an invalid request See + + +

+ + + +
+ version() + click to toggle source +
+ + +
+ +

Get the version from the body of an invalid request See code.google.com/p/timthumb/source/browse/trunk/timthumb.php#426

@return [ String ] The version

- - + - -
-
# File lib/common/models/wp_timthumb/versionable.rb, line 9
+            
+            
+
+# File lib/common/models/wp_timthumb/versionable.rb, line 9
 def version
   unless @version
     response = Browser.get(url)
-    @version = response.body[%r{TimThumb version\s*: ([^<]+)} , 1]
+    @version = response.body[%{TimThumb version\s*: ([^<]+)} , 1]
   end
   @version
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpTimthumbs.html b/doc_rdoc/WpTimthumbs.html index bdcd57f3..e8b9dc9f 100644 --- a/doc_rdoc/WpTimthumbs.html +++ b/doc_rdoc/WpTimthumbs.html @@ -1,323 +1,318 @@ - - - + + + - + -class WpTimthumbs - RDoc Documentation + Class: WpTimthumbs - - - - - - - - - - + + + + + + - - -
-

class WpTimthumbs

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/WpTimthumbs/Detectable.html b/doc_rdoc/WpTimthumbs/Detectable.html index ad622bc9..e903bc05 100644 --- a/doc_rdoc/WpTimthumbs/Detectable.html +++ b/doc_rdoc/WpTimthumbs/Detectable.html @@ -1,385 +1,375 @@ - - - + + + - + -module WpTimthumbs::Detectable - RDoc Documentation + Module: WpTimthumbs::Detectable - - - - - - - - - - + + + + + + - - -
-

module WpTimthumbs::Detectable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- passive_detection(wp_target, options = {}) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpTimthumbs::Detectable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ passive_detection(wp_target, options = {}) + click to toggle source +
+ + +
+ +

No passive detection

@param [ WpTarget ] wp_target @param [ Hash ] options

@return [ WpTimthumbs ]

- - + - -
-
# File lib/common/collections/wp_timthumbs/detectable.rb, line 11
+            
+            
+
+# File lib/common/collections/wp_timthumbs/detectable.rb, line 11
 def passive_detection(wp_target, options = {})
   new
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- create_item(wp_target, path = nil) - - click to toggle source - -
- + +
+ -
-

@param [ WpTarget ] wp_target @option [ +

+ create_item(wp_target, path = nil) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target @option [ String ] path

@return [ WpTimthumb ]

- - + - -
-
# File lib/common/collections/wp_timthumbs/detectable.rb, line 71
+            
+            
+
+# File lib/common/collections/wp_timthumbs/detectable.rb, line 71
 def create_item(wp_target, path = nil)
   options = {
     wp_content_dir: wp_target.wp_content_dir,
@@ -390,40 +380,40 @@ String ] path

WpTimthumb.new(wp_target.uri, options) end
-
- -
+
+ +
- - - -
- - -
- -
- targets_items(wp_target, options = {}) - click to toggle source - -
- -
-

@param [ WpTarget ] wp_target @param [ Hash +

+ + +
+ + + +
+ targets_items(wp_target, options = {}) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target @param [ Hash ] options @option options [ String ] :file The path to the file containing the targets @option options [ String ] :theme_name

@return [ Array<WpTimthumb> ]

- - + - -
-
# File lib/common/collections/wp_timthumbs/detectable.rb, line 23
+            
+            
+
+# File lib/common/collections/wp_timthumbs/detectable.rb, line 23
 def targets_items(wp_target, options = {})
   targets = options[:theme_name] ? theme_timthumbs(options[:theme_name], wp_target) : []
 
@@ -433,39 +423,39 @@ the targets @option options [ String ] :theme_name

targets.uniq { |i| i.url } end
-
- -
+
+ +
- - - -
- - -
- -
- targets_items_from_file(file, wp_target) - click to toggle source - -
- -
-

@param [ String ] file @param [ WpTarget ] +

+ + +
+ + + +
+ targets_items_from_file(file, wp_target) + click to toggle source +
+ + +
+ +

@param [ String ] file @param [ WpTarget ] wp_target

@return [ Array<WpTimthumb> ]

- - + - -
-
# File lib/common/collections/wp_timthumbs/detectable.rb, line 56
+            
+            
+
+# File lib/common/collections/wp_timthumbs/detectable.rb, line 56
 def targets_items_from_file(file, wp_target)
   targets = []
 
@@ -476,44 +466,44 @@ wp_target

end targets end
-
- -
+
+ +
- - - -
- - -
- -
- theme_timthumbs(theme_name, wp_target) - click to toggle source - -
- -
-

@param [ String ] theme_name @param [ + + +

+ + + +
+ theme_timthumbs(theme_name, wp_target) + click to toggle source +
+ + +
+ +

@param [ String ] theme_name @param [ WpTarget ] wp_target

@return [ Array<WpTimthumb> ]

- - + - -
-
# File lib/common/collections/wp_timthumbs/detectable.rb, line 37
+            
+            
+
+# File lib/common/collections/wp_timthumbs/detectable.rb, line 37
 def theme_timthumbs(theme_name, wp_target)
   targets     = []
   wp_timthumb = create_item(wp_target)
 
-  %w{
+  %{
     timthumb.php lib/timthumb.php inc/timthumb.php includes/timthumb.php
     scripts/timthumb.php tools/timthumb.php functions/timthumb.php
   }.each do |path|
@@ -523,26 +513,29 @@ href="../WpTarget.html">WpTarget ] wp_target

end targets end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpUser.html b/doc_rdoc/WpUser.html index 47ffb57b..b8863a57 100644 --- a/doc_rdoc/WpUser.html +++ b/doc_rdoc/WpUser.html @@ -1,628 +1,652 @@ - - - + + + - + -class WpUser - RDoc Documentation + Class: WpUser - - - - - - - - - - + + + + + + - - -
-

class WpUser

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

+
+ -
-
- display_name[RW] -
-
- - - -
-
-
-
- id[RW] -
-
- - - -
-
-
-
- login[RW] -
+ +
+

Attributes

-
- - +
+ + + + +
+ display_name[RW] +
+ +
+ + + +
-
+ +
+ + + + +
+ id[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ login[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+ password[RW] +
+ +
+ + + +
+
+ +
-
-
- password[RW] -
-
- - - -
-
+ -
- +
+

Public Instance Methods

- - -
-

Public Instance Methods

- - -
- -
- <=>(other) - - click to toggle source - -
- - -
- -

@param [ WpUser ] other

- - + +
+ -
-
# File lib/common/models/wp_user.rb, line 37
+          
+ <=>(other) + click to toggle source +
+ + +
+ +

@param [ WpUser ] other

+ + + +
+
+# File lib/common/models/wp_user.rb, line 37
 def <=>(other)
   id <=> other.id
 end
-
- -
+
+ +
- - - -
- - -
- -
- ==(other) - click to toggle source - -
- -
-

@param [ WpUser ] other

+
+ + +
+ + + +
+ ==(other) + click to toggle source +
+ + +
+ +

@param [ WpUser ] other

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_user.rb, line 44
+            
+            
+
+# File lib/common/models/wp_user.rb, line 44
 def ==(other)
   self === other
 end
-
- -
+
+ +
- - - -
- - -
- -
- ===(other) - click to toggle source - -
- -
-

@param [ WpUser ] other

+
+ + +
+ + + +
+ ===(other) + click to toggle source +
+ + +
+ +

@param [ WpUser ] other

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_user.rb, line 51
+            
+            
+
+# File lib/common/models/wp_user.rb, line 51
 def ===(other)
   id === other.id && login === other.login
 end
-
- -
+
+ +
- - - -
- - -
- -
- allowed_options() - - click to toggle source - -
- - -
- -

@return [ Array<Symbol> ]

- -
-
# File lib/common/models/wp_user.rb, line 12
+        
+ + +
+ + + +
+ allowed_options() + click to toggle source +
+ + +
+ +

@return [ Array<Symbol> ]

+ + + +
+
+# File lib/common/models/wp_user.rb, line 12
 def allowed_options; [:id, :login, :display_name, :password] end
-
- -
+
+ +
- - - -
- - -
- -
- login_url() - - click to toggle source - -
- - -
- -

@return [ String ]

- -
-
# File lib/common/models/wp_user.rb, line 24
+        
+ + +
+ + + +
+ login_url() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/models/wp_user.rb, line 24
 def login_url
   @uri.merge('wp-login.php').to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- to_s() - - click to toggle source - -
- - -
- -

@return [ String ]

- -
-
# File lib/common/models/wp_user.rb, line 29
+        
+ + +
+ + + +
+ to_s() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/models/wp_user.rb, line 29
 def to_s
   s  = "#{id}"
   s += " | #{login}" if login
   s += " | #{display_name}" if display_name
   s
 end
-
- -
+
+ +
- - - -
- - -
- -
- uri() - - click to toggle source - -
- - -
- -

@return [ URI ] The uri to the auhor page

- -
-
# File lib/common/models/wp_user.rb, line 15
+        
+ + +
+ + + +
+ uri() + click to toggle source +
+ + +
+ +

@return [ URI ] The uri to the auhor page

+ + + +
+
+# File lib/common/models/wp_user.rb, line 15
 def uri
   if id
     return @uri.merge("?author=#{id}")
@@ -630,26 +654,29 @@
     raise 'The id is nil'
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpUser/BruteForcable.html b/doc_rdoc/WpUser/BruteForcable.html index e999d6ce..7555151f 100644 --- a/doc_rdoc/WpUser/BruteForcable.html +++ b/doc_rdoc/WpUser/BruteForcable.html @@ -1,332 +1,322 @@ - - - + + + - + -module WpUser::BruteForcable - RDoc Documentation + Module: WpUser::BruteForcable - - - - - - - - - - + + + + + + - - -
-

module WpUser::BruteForcable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- passwords_from_wordlist(wordlist) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpUser::BruteForcable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ passwords_from_wordlist(wordlist) + click to toggle source +
+ + +
+ +

Load the passwords from the wordlist, which can be a file path or an array or passwords

File comments are ignored, but will miss @@ -335,12 +325,12 @@ passwords if they start with a hash...

@param [ String, Array<String> ] wordlist

@return [ Array<String> ]

- - + - -
-
# File lib/common/models/wp_user/brute_forcable.rb, line 133
+            
+            
+
+# File lib/common/models/wp_user/brute_forcable.rb, line 133
 def self.passwords_from_wordlist(wordlist)
   if wordlist.is_a?(String)
     passwords = []
@@ -363,36 +353,36 @@ passwords if they start with a hash...

passwords end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- brute_force(wordlist, options = {}, redirect_url = nil) - - click to toggle source - -
- + +
+ -
-

Brute force the user with the wordlist supplied

+
+ brute_force(wordlist, options = {}, redirect_url = nil) + click to toggle source +
+ + +
+ +

Brute force the user with the wordlist supplied

It can take a long time to queue 2 million requests, for that reason, we queue browser.max_threads, send browser.max_threads, queue @@ -408,12 +398,12 @@ The wordlist path @param [ Hash ] options @option options [ Boolean ] redirect_url Override for redirect_url

@return [ void ]

- - + - -
-
# File lib/common/models/wp_user/brute_forcable.rb, line 22
+            
+            
+
+# File lib/common/models/wp_user/brute_forcable.rb, line 22
 def brute_force(wordlist, options = {}, redirect_url = nil)
   browser      = Browser.instance
   hydra        = browser.hydra
@@ -424,10 +414,10 @@ redirect_url Override for redirect_url

passwords.each do |password| # A successfull login will redirect us to the redirect_to parameter - # Generate a radom one on each request + # Generate a random one on each request unless redirect_url random = (0...8).map { 65.+(rand(26)).chr }.join - redirect_url = "#{@uri}#{random}/" + redirect_url = "#@uri#{random}/" end request = login_request(password, redirect_url) @@ -457,38 +447,38 @@ redirect_url Override for redirect_url

# run all of the remaining requests hydra.run end
-
- -
+
+ +
- - - -
- - -
- -
- login_request(password, redirect_url) - click to toggle source - -
- -
-

@param [ String ] password @param [ String ] redirect_url

+
+ + +
+ + + +
+ login_request(password, redirect_url) + click to toggle source +
+ + +
+ +

@param [ String ] password @param [ String ] redirect_url

@return [ Typhoeus::Request ]

- - + - -
-
# File lib/common/models/wp_user/brute_forcable.rb, line 86
+            
+            
+
+# File lib/common/models/wp_user/brute_forcable.rb, line 86
 def login_request(password, redirect_url)
   Browser.instance.forge_request(login_url,
     method: :post,
@@ -496,38 +486,38 @@ redirect_url Override for redirect_url

cache_ttl: 0 ) end
-
- -
+
+ +
- - - -
- - -
- -
- progress_bar(passwords_size, options) - click to toggle source - -
- -
-

@param [ Integer ] targets_size @param [ Hash ] options

+
+ + +
+ + + +
+ progress_bar(passwords_size, options) + click to toggle source +
+ + +
+ +

@param [ Integer ] targets_size @param [ Hash ] options

@return [ ProgressBar ] :nocov:

- - + - -
-
# File lib/common/models/wp_user/brute_forcable.rb, line 71
+            
+            
+
+# File lib/common/models/wp_user/brute_forcable.rb, line 71
 def progress_bar(passwords_size, options)
   if options[:show_progression]
     ProgressBar.create(
@@ -537,41 +527,41 @@ redirect_url Override for redirect_url

) end end
-
- -
+
+ +
- - - -
- - -
- -
- valid_password?(response, password, redirect_url, options = {}) - click to toggle source - -
- -
-

@param [ Typhoeus::Response ] +

+ + +
+ + + +
+ valid_password?(response, password, redirect_url, options = {}) + click to toggle source +
+ + +
+ +

@param [ Typhoeus::Response ] response @param [ String ] password @param [ String ] redirect_url @param [ Hash ] options @option options [ Boolean ] :verbose @option options [ Boolean ] :show_progression

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_user/brute_forcable.rb, line 102
+            
+            
+
+# File lib/common/models/wp_user/brute_forcable.rb, line 102
 def valid_password?(response, password, redirect_url, options = {})
   if response.code == 302 && response.headers_hash && response.headers_hash['Location'] == redirect_url
     progression = "#{green('[SUCCESS]')} Login : #{login} Password : #{password}\n\n"
@@ -594,26 +584,29 @@ Boolean ] :show_progression

valid || false end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpUser/Existable.html b/doc_rdoc/WpUser/Existable.html index ce16d675..06e30ed8 100644 --- a/doc_rdoc/WpUser/Existable.html +++ b/doc_rdoc/WpUser/Existable.html @@ -1,330 +1,320 @@ - - - + + + - + -module WpUser::Existable - RDoc Documentation + Module: WpUser::Existable - - - - - - - - - - + + + + + + - - -
-

module WpUser::Existable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Class Methods

- - -
- -
- display_name_from_body(body) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpUser::Existable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ display_name_from_body(body) + click to toggle source +
+ + +
+ +

@note Some bodies are encoded in ASCII-8BIT, and Nokogiri doesn’t support it

So it's forced to UTF-8 when this encoding is detected
@@ -332,166 +322,169 @@ it

@param [ String ] body

@return [ String ] The display_name

- - + - -
-
# File lib/common/models/wp_user/existable.rb, line 63
+            
+            
+
+# File lib/common/models/wp_user/existable.rb, line 63
 def self.display_name_from_body(body)
-  if title_tag = body[%r{<title>([^<]+)</title>}, 1]
+  if title_tag = body[%{<title>([^<]+)</title>}, 1]
     title_tag.force_encoding('UTF-8') if title_tag.encoding == Encoding::ASCII_8BIT
     title_tag = Nokogiri::HTML::DocumentFragment.parse(title_tag).to_s
     # &amp; are not decoded with Nokogiri

     title_tag.sub!('&amp;', '&')
 
-    name = title_tag[%r{([^|«]+) }, 1]
+    name = title_tag[%{([^|«]+) }, 1]
 
     return name.strip if name
   end
 end
-
- -
+
+ +
- - - -
- - -
- -
- login_from_author_pattern(text) - click to toggle source - -
- -
-

@param [ String ] text

+
+ + +
+ + + +
+ login_from_author_pattern(text) + click to toggle source +
+ + +
+ +

@param [ String ] text

@return [ String ] The login

- - + - -
-
# File lib/common/models/wp_user/existable.rb, line 38
+            
+            
+
+# File lib/common/models/wp_user/existable.rb, line 38
 def self.login_from_author_pattern(text)
-  text[%r{/author/([^/\b]+)/?}, 1]
+  text[%{/author/([^/\b]+)/?}, 1]
 end
-
- -
+
+ +
- - - -
- - -
- -
- login_from_body(body) - click to toggle source - -
- -
-

@param [ String ] body

+
+ + +
+ + + +
+ login_from_body(body) + click to toggle source +
+ + +
+ +

@param [ String ] body

@return [ String ] The login

- - + - -
-
# File lib/common/models/wp_user/existable.rb, line 45
+            
+            
+
+# File lib/common/models/wp_user/existable.rb, line 45
 def self.login_from_body(body)
   # Feed URL with Permalinks

   login = WpUser::Existable.login_from_author_pattern(body)
 
   unless login
     # No Permalinks

-    login = body[%r{<body class="archive author author-([^\s]+) author-(\d+)}, 1]
+    login = body[%{<body class="archive author author-([^\s]+) author-(\d+)}, 1]
   end
 
   login
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- exists_from_response?(response, options = {}) - - click to toggle source - -
- + +
+ -
-

@param [ Typhoeus::Response ] +

+ exists_from_response?(response, options = {}) + click to toggle source +
+ + +
+ +

@param [ Typhoeus::Response ] response @param [ Hash ] options

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_user/existable.rb, line 9
+            
+            
+
+# File lib/common/models/wp_user/existable.rb, line 9
 def exists_from_response?(response, options = {})
   load_from_response(response)
 
   @login ? true : false
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpUsers.html b/doc_rdoc/WpUsers.html index 6e683003..b2169a18 100644 --- a/doc_rdoc/WpUsers.html +++ b/doc_rdoc/WpUsers.html @@ -1,341 +1,344 @@ - - - + + + - + -class WpUsers - RDoc Documentation + Class: WpUsers - - - - - - - - - - + + + + + + - - -
-

class WpUsers

- -
- -
- - - - -
- - - - - - - - - - -
- -
- - - + + diff --git a/doc_rdoc/WpUsers/BruteForcable.html b/doc_rdoc/WpUsers/BruteForcable.html index 5f760ab6..d2238e83 100644 --- a/doc_rdoc/WpUsers/BruteForcable.html +++ b/doc_rdoc/WpUsers/BruteForcable.html @@ -1,324 +1,314 @@ - - - + + + - + -module WpUsers::BruteForcable - RDoc Documentation + Module: WpUsers::BruteForcable - - - - - - - - - - + + + + + + - - -
-

module WpUsers::BruteForcable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- brute_force(wordlist, options = {}) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpUsers::BruteForcable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ brute_force(wordlist, options = {}) + click to toggle source +
+ + +
+ +

Brute force each wp_user

To avoid loading the wordlist each time in the wp_user instance It’s loaded here, and given to the wp_user

@@ -328,37 +318,40 @@ here, and given to the wp_user

href="../WpUser/BruteForcable.html#method-i-brute_force">WpUser::BruteForcable#brute_force

@return [ void ]

- - + - -
-
# File lib/common/collections/wp_users/brute_forcable.rb, line 14
+            
+            
+
+# File lib/common/collections/wp_users/brute_forcable.rb, line 14
 def brute_force(wordlist, options = {})
   passwords = WpUser::BruteForcable.passwords_from_wordlist(wordlist)
 
   self.each { |wp_user| wp_user.brute_force(passwords, options) }
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpUsers/Detectable.html b/doc_rdoc/WpUsers/Detectable.html index c4ab1440..04d3d3fe 100644 --- a/doc_rdoc/WpUsers/Detectable.html +++ b/doc_rdoc/WpUsers/Detectable.html @@ -1,409 +1,399 @@ - - - + + + - + -module WpUsers::Detectable - RDoc Documentation + Module: WpUsers::Detectable - - - - - - - - - - + + + + + + - - -
-

module WpUsers::Detectable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- passive_detection(wp_target, options = {}) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpUsers::Detectable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ passive_detection(wp_target, options = {}) + click to toggle source +
+ + +
+ +

No passive detection

@return [ WpUsers ]

- - + - -
-
# File lib/common/collections/wp_users/detectable.rb, line 11
+            
+            
+
+# File lib/common/collections/wp_users/detectable.rb, line 11
 def passive_detection(wp_target, options = {})
   new
 end
-
- -
+
+ +
- - - -
- - -
- -
- request_params() - - click to toggle source - -
- - -
- -

@return [ Hash ]

- -
-
# File lib/common/collections/wp_users/detectable.rb, line 6
+        
+ + +
+ + + +
+ request_params() + click to toggle source +
+ + +
+ +

@return [ Hash ]

+ + + +
+
+# File lib/common/collections/wp_users/detectable.rb, line 6
 def request_params; {} end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- targets_items(wp_target, options = {}) - - click to toggle source - -
- + +
+ -
-

@param [ WpTarget ] wp_target @param [ Hash +

+ targets_items(wp_target, options = {}) + click to toggle source +
+ + +
+ +

@param [ WpTarget ] wp_target @param [ Hash ] options @option options [ Range ] :range ((1..10))

@return [ Array<WpUser> ]

- - + - -
-
# File lib/common/collections/wp_users/detectable.rb, line 22
+            
+            
+
+# File lib/common/collections/wp_users/detectable.rb, line 22
 def targets_items(wp_target, options = {})
   range   = options[:range] || (1..10)
   targets = []
@@ -413,26 +403,29 @@
   end
   targets
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpUsers/Output.html b/doc_rdoc/WpUsers/Output.html index 61c1377e..682de03a 100644 --- a/doc_rdoc/WpUsers/Output.html +++ b/doc_rdoc/WpUsers/Output.html @@ -1,335 +1,325 @@ - - - + + + - + -module WpUsers::Output - RDoc Documentation + Module: WpUsers::Output - - - - - - - - - - + + + + + + - - -
-

module WpUsers::Output

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- output(options = {}) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpUsers::Output

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ output(options = {}) + click to toggle source +
+ + +
+ +

@param [ Hash ] options @option options[ Boolean ] :show_password Output the password column

@return [ void ]

- - + - -
-
# File lib/common/collections/wp_users/output.rb, line 9
+            
+            
+
+# File lib/common/collections/wp_users/output.rb, line 9
 def output(options = {})
   rows     = []
   headings = ['Id', 'Login', 'Name']
@@ -349,36 +339,36 @@ href="Output.html">Output the password column

# variable needed for output puts table end
-
- -
+
+ +
- - - -
- - -
- -
- remove_junk_from_display_names() - - click to toggle source - -
- - -
- - - -
-
# File lib/common/collections/wp_users/output.rb, line 29
+        
+ + +
+ + + +
+ remove_junk_from_display_names() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/collections/wp_users/output.rb, line 29
 def remove_junk_from_display_names
   display_names = []
   self.each do |u|
@@ -394,26 +384,29 @@ href="Output.html">Output the password column

end end end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpVersion.html b/doc_rdoc/WpVersion.html index 8070b51c..034066dd 100644 --- a/doc_rdoc/WpVersion.html +++ b/doc_rdoc/WpVersion.html @@ -1,450 +1,452 @@ - - - + + + - + -class WpVersion - RDoc Documentation + Class: WpVersion - - - - - - - - - - + + + + + + - - -
-

class WpVersion

- -
- -
- - - - -
- - - - - - - - -
-

Attributes

- - -
- +
- - -
-

Public Instance Methods

- - -
+
+ + +
+

Parent

-
- ==(other) + + +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpVersion

+ +
+ +
+ + + + +
+ + + + + + + + +
+

Attributes

+ + +
+ + + + +
+ number[RW] +
+ +
+ +

The version number

+ +
+
+ + + + +
+

Public Instance Methods

+ + +
+ -
-

@param [ WpVersion ] other

+
+ ==(other) + click to toggle source +
+ + +
+ +

@param [ WpVersion ] other

@return [ Boolean ]

- - + - -
-
# File lib/common/models/wp_version.rb, line 21
+            
+            
+
+# File lib/common/models/wp_version.rb, line 21
 def ==(other)
   number == other.number
 end
-
- -
+
+ +
- - - -
- - -
- -
- allowed_options() - - click to toggle source - -
- - -
- -

@return [ Array ]

- - -
- Calls superclass method - WpItem#allowed_options -
-
-
# File lib/common/models/wp_version.rb, line 16
+        
+ + +
+ + + +
+ allowed_options() + click to toggle source +
+ + +
+ +

@return [ Array ]

+ + + +
+
+# File lib/common/models/wp_version.rb, line 16
 def allowed_options; super << :number << :found_from end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+ - - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpVersion/Findable.html b/doc_rdoc/WpVersion/Findable.html index 220d31ac..0249ebcb 100644 --- a/doc_rdoc/WpVersion/Findable.html +++ b/doc_rdoc/WpVersion/Findable.html @@ -1,355 +1,345 @@ - - - + + + - + -module WpVersion::Findable - RDoc Documentation + Module: WpVersion::Findable - - - - - - - - - - + + + + + + - - -
-

module WpVersion::Findable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- find(target_uri, wp_content_dir, wp_plugins_dir, versions_xml) +
+
+

In Files

+
+
- +
-
+ +
+ +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpVersion::Findable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ find(target_uri, wp_content_dir, wp_plugins_dir, versions_xml) + click to toggle source +
+ + +
+ +

Find the version of the blog designated from target_uri

@param [ URI ] target_uri @param [ String ] wp_content_dir @param [ String ] wp_plugins_dir

@return [ WpVersion ]

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 13
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 13
 def find(target_uri, wp_content_dir, wp_plugins_dir, versions_xml)
   methods.grep(/find_from_/).each do |method|
 
@@ -365,71 +355,71 @@ wp_content_dir @param [ String ] wp_plugins_dir

end nil end
-
- -
+
+ +
- - - -
- - -
- -
- version_pattern() - click to toggle source - -
- -
-

Used to check if the version is correct: must contain at least one dot.

+
+ + +
+ + + +
+ version_pattern() + click to toggle source +
+ + +
+ +

Used to check if the version is correct: must contain at least one dot.

@return [ String ]

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 32
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 32
 def version_pattern
   '([^\r\n"\]+\.[^\r\n"\]+)'
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Instance Methods

+
+

Protected Instance Methods

- -
- -
- find_from_advanced_fingerprinting(target_uri, wp_content_dir, wp_plugins_dir, versions_xml) - - click to toggle source - -
- + +
+ -
-

Uses data/wp_versions.xml to try to identify a wordpress version.

+
+ find_from_advanced_fingerprinting(target_uri, wp_content_dir, wp_plugins_dir, versions_xml) + click to toggle source +
+ + +
+ +

Uses data/wp_versions.xml to try to identify a wordpress version.

It does this by using client side file hashing

@@ -441,12 +431,12 @@ wp_content_dir @param [ String ] wp_plugins_dir @param [ String ] versions_xml The path to the xml containing all versions

@return [ String ] The version number

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 153
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 153
 def find_from_advanced_fingerprinting(target_uri, wp_content_dir, wp_plugins_dir, versions_xml)
   xml     = xml(versions_xml)
 
@@ -470,113 +460,113 @@ versions_xml The path to the xml containing all versions

end nil end
-
- -
+
+ +
- - - -
- - -
- -
- find_from_atom_generator(target_uri) - click to toggle source - -
- -
-

Attempts to find the WordPress version from, the generator tag in the Atom +

+ + +
+ + + +
+ find_from_atom_generator(target_uri) + click to toggle source +
+ + +
+ +

Attempts to find the WordPress version from, the generator tag in the Atom source.

@param [ URI ] target_uri

@return [ String ] The version number

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 120
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 120
 def find_from_atom_generator(target_uri)
   scan_url(
     target_uri,
-    %r{<generator uri="http://wordpress.org/" version="#{version_pattern}">WordPress</generator>},
+    %{<generator uri="http://wordpress.org/" version="#{version_pattern}">WordPress</generator>},
     'feed/atom/'
   )
 end
-
- -
+
+ +
- - - -
- - - - - -
- -
- find_from_meta_generator(target_uri) - click to toggle source - -
- -
-

Attempts to find the wordpress version from, the generator meta tag in the +

+ + +
+ + + +
+ find_from_meta_generator(target_uri) + click to toggle source +
+ + +
+ +

Attempts to find the wordpress version from, the generator meta tag in the html source.

The meta tag can be removed however it seems, that it is reinstated on @@ -585,167 +575,167 @@ upgrade.

@param [ URI ] target_uri

@return [ String ] The version number

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 67
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 67
 def find_from_meta_generator(target_uri)
   scan_url(
     target_uri,
-    %r{name="generator" content="wordpress #{version_pattern}"}
+    %{name="generator" content="wordpress #{version_pattern}"}
   )
 end
-
- -
+
+ +
- - - -
- - -
- -
- find_from_rdf_generator(target_uri) - click to toggle source - -
- -
-

Attempts to find WordPress version from, the generator tag in the RDF feed +

+ + +
+ + + +
+ find_from_rdf_generator(target_uri) + click to toggle source +
+ + +
+ +

Attempts to find WordPress version from, the generator tag in the RDF feed source.

@param [ URI ] target_uri

@return [ String ] The version number

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 94
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 94
 def find_from_rdf_generator(target_uri)
   scan_url(
     target_uri,
-    %r{<admin:generatorAgent rdf:resource="http://wordpress.org/\?v=#{version_pattern}" />},
+    %{<admin:generatorAgent rdf:resource="http://wordpress.org/\?v=#{version_pattern}" />},
     'feed/rdf/'
   )
 end
-
- -
+
+ +
- - - -
- - -
- -
- find_from_readme(target_uri) - click to toggle source - -
- -
-

Attempts to find the WordPress version from the readme.html file.

+
+ + +
+ + + +
+ find_from_readme(target_uri) + click to toggle source +
+ + +
+ +

Attempts to find the WordPress version from the readme.html file.

@param [ URI ] target_uri

@return [ String ] The version number

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 182
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 182
 def find_from_readme(target_uri)
   scan_url(
     target_uri,
-    %r{<br />\sversion #{version_pattern}},
+    %{<br />\sversion #{version_pattern}},
     'readme.html'
   )
 end
-
- -
+
+ +
- - - -
- - -
- -
- find_from_rss_generator(target_uri) - click to toggle source - -
- -
-

Attempts to find the WordPress version from, the generator tag in the RSS +

+ + +
+ + + +
+ find_from_rss_generator(target_uri) + click to toggle source +
+ + +
+ +

Attempts to find the WordPress version from, the generator tag in the RSS feed source.

@param [ URI ] target_uri

@return [ String ] The version number

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 80
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 80
 def find_from_rss_generator(target_uri)
   scan_url(
     target_uri,
-    %r{<generator>http://wordpress.org/\?v=#{version_pattern}</generator>},
+    %{<generator>http://wordpress.org/\?v=#{version_pattern}</generator>},
     'feed/'
   )
 end
-
- -
+
+ +
- - - -
- - -
- -
- find_from_sitemap_generator(target_uri) - click to toggle source - -
- -
-

Attempts to find the WordPress version from the sitemap.xml file.

+
+ + +
+ + + +
+ find_from_sitemap_generator(target_uri) + click to toggle source +
+ + +
+ +

Attempts to find the WordPress version from the sitemap.xml file.

See: code.google.com/p/wpscan/issues/detail?id=109

@@ -753,80 +743,83 @@ href="http://code.google.com/p/wpscan/issues/detail?id=109">code.google.com/p/wp

@param [ URI ] target_uri

@return [ String ] The version number

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 197
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 197
 def find_from_sitemap_generator(target_uri)
   scan_url(
     target_uri,
-    %r{generator="wordpress/#{version_pattern}"},
+    %{generator="wordpress/#{version_pattern}"},
     'sitemap.xml'
   )
 end
-
- -
+
+ +
- - - -
- - -
- -
- scan_url(target_uri, pattern, path = nil) - click to toggle source - -
- -
-

Returns the first match of <pattern> in the body of the url

+
+ + +
+ + + +
+ scan_url(target_uri, pattern, path = nil) + click to toggle source +
+ + +
+ +

Returns the first match of <pattern> in the body of the url

@param [ URI ] target_uri @param [ Regex ] pattern @param [ String ] path

@return [ String ]

- - + - -
-
# File lib/common/models/wp_version/findable.rb, line 45
+            
+            
+
+# File lib/common/models/wp_version/findable.rb, line 45
 def scan_url(target_uri, pattern, path = nil)
   url = path ? target_uri.merge(path).to_s : target_uri.to_s
   response = Browser.get_and_follow_location(url)
 
   response.body[pattern, 1]
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpVersion/Output.html b/doc_rdoc/WpVersion/Output.html index 775f7d90..8151325a 100644 --- a/doc_rdoc/WpVersion/Output.html +++ b/doc_rdoc/WpVersion/Output.html @@ -1,330 +1,320 @@ - - - + + + - + -module WpVersion::Output - RDoc Documentation + Module: WpVersion::Output - - - - - - - - - - + + + + + + - - -
-

module WpVersion::Output

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- output() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- - - - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpVersion::Output

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_version/output.rb, line 5
+          
+ output() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/common/models/wp_version/output.rb, line 5
 def output
   puts green('[+]') + " WordPress version #{self.number} identified from #{self.found_from}"
 
@@ -337,26 +327,29 @@
     vulnerabilities.output
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpVersion/Vulnerable.html b/doc_rdoc/WpVersion/Vulnerable.html index 624638be..12019893 100644 --- a/doc_rdoc/WpVersion/Vulnerable.html +++ b/doc_rdoc/WpVersion/Vulnerable.html @@ -1,391 +1,384 @@ - - - + + + - + -module WpVersion::Vulnerable - RDoc Documentation + Module: WpVersion::Vulnerable - - - - - - - - - - + + + + + + - - -
-

module WpVersion::Vulnerable

- -
- -
- - - - -
- - - - - - - - - - -
-

Public Instance Methods

- - -
- -
- vulns_file() +
+
+

In Files

+
+
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ -
- -

@return [ String ] The path to the file containing vulnerabilities

- - +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpVersion::Vulnerable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ -
-
# File lib/common/models/wp_version/vulnerable.rb, line 6
+          
+ vulns_file() + click to toggle source +
+ + +
+ +

@return [ String ] The path to the file containing vulnerabilities

+ + + +
+
+# File lib/common/models/wp_version/vulnerable.rb, line 6
 def vulns_file
   unless @vulns_file
     @vulns_file = WP_VULNS_FILE
   end
   @vulns_file
 end
-
- -
+
+ +
- - - -
- - -
- -
- vulns_xpath() - - click to toggle source - -
- - -
- -

@return [ String ]

- -
-
# File lib/common/models/wp_version/vulnerable.rb, line 14
+        
+ + +
+ + + +
+ vulns_xpath() + click to toggle source +
+ + +
+ +

@return [ String ]

+ + + +
+
+# File lib/common/models/wp_version/vulnerable.rb, line 14
 def vulns_xpath
   "//wordpress[@version='#{@number}']/vulnerability"
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/WpscanOptions.html b/doc_rdoc/WpscanOptions.html index b9bb909e..e385f289 100644 --- a/doc_rdoc/WpscanOptions.html +++ b/doc_rdoc/WpscanOptions.html @@ -1,394 +1,386 @@ - - - + + + - + -class WpscanOptions - RDoc Documentation + Class: WpscanOptions - - - - - - - - - - + + + + + + - - -
-

class WpscanOptions

- -
- -
- - - - -
- - - - - - -
-

Constants

-
- -
ACCESSOR_OPTIONS - -
- - -
-
- - - - - - -
-

Public Class Methods

- - -
- -
- load_from_arguments() +
+
+

In Files

+
+
+
+ + +
+ +
+ + +
+

Parent

+ + +
+ - + +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

WpscanOptions

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
ACCESSOR_OPTIONS
+ +
+ + +
+
+ + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ load_from_arguments() + click to toggle source +
+ + +
+ +

Will load the options from ARGV return WpscanOptions

- - + - -
-
# File lib/wpscan/wpscan_options.rb, line 153
+            
+            
+
+# File lib/wpscan/wpscan_options.rb, line 153
 def self.load_from_arguments
   wpscan_options = WpscanOptions.new
 
@@ -400,115 +392,115 @@ href="WpscanOptions.html">WpscanOptions

wpscan_options end
-
- -
+
+ +
- - - -
- - -
- -
- new() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 36
+        
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 36
 def initialize
   ACCESSOR_OPTIONS.each do |option|
     instance_variable_set("@#{option}", nil)
   end
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Protected Class Methods

+
+

Protected Class Methods

- -
- -
- clean_option(option) - - click to toggle source - -
- + +
+ -
-

Will removed the ‘-’ or ‘–’ chars at the beginning of option and replace +

+ clean_option(option) + click to toggle source +
+ + +
+ +

Will removed the ‘-’ or ‘–’ chars at the beginning of option and replace any remaining ‘-’ by ‘_’

param string option return string

- - + - -
-
# File lib/wpscan/wpscan_options.rb, line 252
+            
+            
+
+# File lib/wpscan/wpscan_options.rb, line 252
 def self.clean_option(option)
   cleaned_option = option.gsub(/^--?/, '')
   cleaned_option.gsub(/-/, '_')
 end
-
- -
+
+ +
- - - -
- - -
- -
- get_opt_long() - click to toggle source - -
- -
-

Even if a short option is given (IE : -u), the long one will be returned +

+ + +
+ + + +
+ get_opt_long() + click to toggle source +
+ + +
+ +

Even if a short option is given (IE : -u), the long one will be returned (IE : –url)

- - + - -
-
# File lib/wpscan/wpscan_options.rb, line 220
+            
+            
+
+# File lib/wpscan/wpscan_options.rb, line 220
 def self.get_opt_long
   GetoptLong.new(
     ['--url', '-u', GetoptLong::REQUIRED_ARGUMENT],
@@ -531,178 +523,178 @@ any remaining ‘-’ by ‘_’

['--debug-output', GetoptLong::NO_ARGUMENT] ) end
-
- -
+
+ +
- - - -
- - -
- -
- is_long_option?(option) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 243
+        
+ + +
+ + + +
+ is_long_option?(option) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 243
 def self.is_long_option?(option)
   ACCESSOR_OPTIONS.include?(:"#{WpscanOptions.clean_option(option)}")
 end
-
- -
+
+ +
- - - -
- - -
- -
- option_to_instance_variable_setter(option) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 257
+        
+ + +
+ + + +
+ option_to_instance_variable_setter(option) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 257
 def self.option_to_instance_variable_setter(option)
   cleaned_option = WpscanOptions.clean_option(option)
-  option_syms = ACCESSOR_OPTIONS.grep(%r{^#{cleaned_option}$})
+  option_syms = ACCESSOR_OPTIONS.grep(%{^#{cleaned_option}$})
 
   option_syms.length == 1 ? :"#{option_syms.at(0)}=" : nil
 end
-
+
+ +
+ -
- - - -
+ +
+ +
-
- -
-

Public Instance Methods

+
+

Public Instance Methods

- -
- -
- basic_auth=(basic_auth) - - click to toggle source - -
- - -
- - - - + +
+ -
-
# File lib/wpscan/wpscan_options.rb, line 124
+          
+ basic_auth=(basic_auth) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 124
 def basic_auth=(basic_auth)
   raise 'Invalid basic authentication format, login:password expected' if basic_auth.index(':').nil?
   @basic_auth = "Basic #{Base64.encode64(basic_auth).chomp}"
 end
-
- -
+
+ +
- - - -
- - -
- -
- debug_output=(debug_output) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 129
+        
+ + +
+ + + +
+ debug_output=(debug_output) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 129
 def debug_output=(debug_output)
   Typhoeus::Config.verbose = debug_output
 end
-
- -
+
+ +
- - - -
- - -
- -
- enumerate_all_plugins=(enumerate_all_plugins) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 92
+        
+ + +
+ + + +
+ enumerate_all_plugins=(enumerate_all_plugins) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 92
 def enumerate_all_plugins=(enumerate_all_plugins)
   if enumerate_all_plugins === true and (@enumerate_plugins === true or @enumerate_only_vulnerable_plugins === true)
     raise 'Please choose only one plugin enumeration option'
@@ -710,36 +702,36 @@ any remaining ‘-’ by ‘_’

@enumerate_all_plugins = enumerate_all_plugins end end
-
- -
+
+ +
- - - -
- - -
- -
- enumerate_all_themes=(enumerate_all_themes) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 116
+        
+ + +
+ + + +
+ enumerate_all_themes=(enumerate_all_themes) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 116
 def enumerate_all_themes=(enumerate_all_themes)
   if enumerate_all_themes === true and (@enumerate_themes === true or @enumerate_only_vulnerable_themes === true)
     raise 'Please choose only one theme enumeration option'
@@ -747,36 +739,36 @@ any remaining ‘-’ by ‘_’

@enumerate_all_themes = enumerate_all_themes end end
-
- -
+
+ +
- - - -
- - -
- -
- enumerate_only_vulnerable_plugins=(enumerate_only_vulnerable_plugins) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 84
+        
+ + +
+ + + +
+ enumerate_only_vulnerable_plugins=(enumerate_only_vulnerable_plugins) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 84
 def enumerate_only_vulnerable_plugins=(enumerate_only_vulnerable_plugins)
   if enumerate_only_vulnerable_plugins === true and (@enumerate_all_plugins === true or @enumerate_plugins === true)
     raise 'Please choose only one plugin enumeration option'
@@ -784,36 +776,36 @@ any remaining ‘-’ by ‘_’

@enumerate_only_vulnerable_plugins = enumerate_only_vulnerable_plugins end end
-
- -
+
+ +
- - - -
- - -
- -
- enumerate_only_vulnerable_themes=(enumerate_only_vulnerable_themes) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 108
+        
+ + +
+ + + +
+ enumerate_only_vulnerable_themes=(enumerate_only_vulnerable_themes) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 108
 def enumerate_only_vulnerable_themes=(enumerate_only_vulnerable_themes)
   if enumerate_only_vulnerable_themes === true and (@enumerate_all_themes === true or @enumerate_themes === true)
     raise 'Please choose only one theme enumeration option'
@@ -821,40 +813,40 @@ any remaining ‘-’ by ‘_’

@enumerate_only_vulnerable_themes = enumerate_only_vulnerable_themes end end
-
- -
+
+ +
- - - -
- - -
- -
- enumerate_options_from_string(value) - click to toggle source - -
- -
-

Will set enumerate_* from the string value IE : if value = vp => +

+ + +
+ + + +
+ enumerate_options_from_string(value) + click to toggle source +
+ + +
+ +

Will set enumerate_* from the string value IE : if value = vp => :enumerate_only_vulnerable_plugins will be set to true multiple enumeration are possible : ‘u,p’ => :enumerate_usernames and :enumerate_plugins Special case for usernames, a range is possible : u will enumerate usernames from 1 to 10

- - + - -
-
# File lib/wpscan/wpscan_options.rb, line 188
+            
+            
+
+# File lib/wpscan/wpscan_options.rb, line 188
 def enumerate_options_from_string(value)
   # Usage of self is mandatory because there are overridden setters
 
@@ -877,43 +869,43 @@ href="http://1-10">u will enumerate usernames from 1 to 10

value.grep(/^u/) do |username_enum_value| @enumerate_usernames = true # Check for usernames range - matches = %r{\[([\d]+)-([\d]+)\]}.match(username_enum_value) + matches = %{\[([\d]+)-([\d]+)\]}.match(username_enum_value) if matches @enumerate_usernames_range = (matches[1].to_i..matches[2].to_i) end end end
-
- -
+
+ +
- - - -
- - -
- -
- enumerate_plugins=(enumerate_plugins) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 76
+        
+ + +
+ + + +
+ enumerate_plugins=(enumerate_plugins) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 76
 def enumerate_plugins=(enumerate_plugins)
   if enumerate_plugins === true and (@enumerate_all_plugins === true or @enumerate_only_vulnerable_plugins === true)
     raise 'Please choose only one plugin enumeration option'
@@ -921,36 +913,36 @@ href="http://1-10">u will enumerate usernames from 1 to 10

@enumerate_plugins = enumerate_plugins end end
-
- -
+
+ +
- - - -
- - -
- -
- enumerate_themes=(enumerate_themes) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 100
+        
+ + +
+ + + +
+ enumerate_themes=(enumerate_themes) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 100
 def enumerate_themes=(enumerate_themes)
   if enumerate_themes === true and (@enumerate_all_themes === true or @enumerate_only_vulnerable_themes === true)
     raise 'Please choose only one theme enumeration option'
@@ -958,69 +950,69 @@ href="http://1-10">u will enumerate usernames from 1 to 10

@enumerate_themes = enumerate_themes end end
-
- -
+
+ +
- - - -
- - -
- -
- has_options?() - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 133
+        
+ + +
+ + + +
+ has_options?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 133
 def has_options?
   !to_h.empty?
 end
-
- -
+
+ +
- - - -
- - -
- -
- proxy=(proxy) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 60
+        
+ + +
+ + + +
+ proxy=(proxy) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 60
 def proxy=(proxy)
   if proxy.index(':') == nil
     raise 'Invalid proxy format. Should be host:port.'
@@ -1028,36 +1020,36 @@ href="http://1-10">u will enumerate usernames from 1 to 10

@proxy = proxy end end
-
- -
+
+ +
- - - -
- - -
- -
- proxy_auth=(auth) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 68
+        
+ + +
+ + + +
+ proxy_auth=(auth) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 68
 def proxy_auth=(auth)
   if auth.index(':') == nil
     raise 'Invalid proxy auth format, username:password expected'
@@ -1065,37 +1057,37 @@ href="http://1-10">u will enumerate usernames from 1 to 10

@proxy_auth = auth end end
-
- -
+
+ +
- - - -
- - -
- -
- set_option_from_cli(cli_option, cli_value) - click to toggle source - -
- -
-

string cli_option : –url, -u, –proxy etc string cli_value : the option +

+ + +
+ + + +
+ set_option_from_cli(cli_option, cli_value) + click to toggle source +
+ + +
+ +

string cli_option : –url, -u, –proxy etc string cli_value : the option value

- - + - -
-
# File lib/wpscan/wpscan_options.rb, line 167
+            
+            
+
+# File lib/wpscan/wpscan_options.rb, line 167
 def set_option_from_cli(cli_option, cli_value)
 
   if WpscanOptions.is_long_option?(cli_option)
@@ -1112,69 +1104,69 @@ value

raise "Unknow option : #{cli_option} with value #{cli_value}" end end
-
- -
+
+ +
- - - -
- - -
- -
- threads=(threads) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 48
+        
+ + +
+ + + +
+ threads=(threads) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 48
 def threads=(threads)
   @threads = threads.is_a?(Integer) ? threads : threads.to_i
 end
-
- -
+
+ +
- - - -
- - -
- -
- to_h() - - click to toggle source - -
- - -
- -

return Hash

- -
-
# File lib/wpscan/wpscan_options.rb, line 138
+        
+ + +
+ + + +
+ to_h() + click to toggle source +
+ + +
+ +

return Hash

+ + + +
+
+# File lib/wpscan/wpscan_options.rb, line 138
 def to_h
   options = {}
 
@@ -1187,71 +1179,71 @@ value

end options end
-
- -
+
+ +
- - - -
- - -
- -
- url=(url) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 42
+        
+ + +
+ + + +
+ url=(url) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 42
 def url=(url)
   raise 'Empty URL given' if !url
 
   @url = URI.parse(add_http_protocol(url)).to_s
 end
-
- -
+
+ +
- - - -
- - -
- -
- wordlist=(wordlist) - - click to toggle source - -
- - -
- - - -
-
# File lib/wpscan/wpscan_options.rb, line 52
+        
+ + +
+ + + +
+ wordlist=(wordlist) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/wpscan/wpscan_options.rb, line 52
 def wordlist=(wordlist)
   if File.exists?(wordlist)
     @wordlist = wordlist
@@ -1259,26 +1251,29 @@ value

raise "The file #{wordlist} does not exist" end end
-
+
+ +
+ -
- - - -
+ +
+ +
-
+
- - + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
- + + diff --git a/doc_rdoc/cache/browser/cookie-jar.html b/doc_rdoc/cache/browser/cookie-jar.html deleted file mode 100644 index ccd2ca83..00000000 --- a/doc_rdoc/cache/browser/cookie-jar.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - -cookie-jar - RDoc Documentation - - - - - - - - - - - - - - - - -
- -

# Netscape HTTP Cookie File # curl.haxx.se/rfc/cookie_spec.html -# This file was generated by libcurl! Edit at your own risk.

- -

10.211.55.8 FALSE /wordpress/ FALSE 0 -wordpress_test_cookie WP+Cookie+check #HttpOnly_10.211.55.8 FALSE -/wordpress/wp-content/plugins FALSE 0 -wordpress_1d5f0487207f23e48296a7b7b2f9d69e -admin%7C1370959139%7Cd34d8f42dbcb07235f2fb4efaf609c11 #HttpOnly_10.211.55.8 -FALSE /wordpress/wp-admin FALSE 0 -wordpress_1d5f0487207f23e48296a7b7b2f9d69e -admin%7C1370959139%7Cd34d8f42dbcb07235f2fb4efaf609c11 #HttpOnly_10.211.55.8 -FALSE /wordpress/ FALSE 0 -wordpress_logged_in_1d5f0487207f23e48296a7b7b2f9d69e -admin%7C1370959139%7Cb613bce66568a9c8a3310c8f99a72c5f

- -
- - - - - diff --git a/doc_rdoc/conf/browser_conf_json.html b/doc_rdoc/conf/browser_conf_json.html deleted file mode 100644 index 5e800f4b..00000000 --- a/doc_rdoc/conf/browser_conf_json.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - -browser.conf.json - RDoc Documentation - - - - - - - - - - - - - - - - -
- -

{

- -
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0) Gecko/20100101 Firefox/9.0",
-   Modes :
-  static : will use the defined user_agent for each request
-  semi-static : will randomly choose a user agent into available_user_agents before each scan
-  random : each request will choose a random user agent in available_user_agents
-
-"user_agent_mode": "static",
-
-/* Uncomment the "proxy" line to use the proxy
-  SOCKS proxies (4, 4A, 5) are supported, ie : "proxy": "socks5://127.0.0.1:9000"
-  If you do not specify the protocol, http will be used
- /
-//"proxy": "127.0.0.1:3128",
-//"proxy_auth": "username:password",
-
-"cache_ttl": 600, // 10 minutes, at this time the cache is cleaned before each scan. If this value is set to 0, the cache will be disabled
-
-"request_timeout": 2000, // 2s
-
-"max_threads": 20,
-
-// Some user_agents can be found there http://techpatterns.com/downloads/firefox/useragentswitcher.xml (thx to Gianluca Brindisi)
-"available_user_agents":
-[
-  // Windows
-  "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.0 Safari/532.5",
-  "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/9.0.601.0 Safari/534.14",
-  "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27",
-  "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1",
-  "Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0E)",
-  "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
-  "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
-  "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1",
-  "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",
-  "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1",
-  "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120403211507 Firefox/12.0",
-  "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1",
-  "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)",
-  "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
-  "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0)",
-  "Opera/9.80 (Windows NT 6.1; U; es-ES) Presto/2.9.181 Version/12.00",
-  "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5",
-
-  // MAC
-  "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.15 Safari/534.13",
-  "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15",
-  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
-  "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3",
-  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
-  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2; rv:10.0.1) Gecko/20100101 Firefox/10.0.1",
-  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10",
-
-  // Linux
-  "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.20 Safari/535.1",
-  "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.703.0 Chrome/12.0.703.0 Safari/534.24",
-  "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100915 Gentoo Firefox/3.6.9",
-  "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20120421 Gecko Firefox/11.0",
-  "Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0",
-  "Opera/9.80 (X11; Linux x86_64; U; pl) Presto/2.7.62 Version/11.00",
-  "Mozilla/5.0 (X11; U; Linux x86_64; us; rv:1.9.1.19) Gecko/20110430 shadowfox/7.0 (like Firefox/7.0"
-]
- -

}

- -
- - - - - diff --git a/doc_rdoc/created.rid b/doc_rdoc/created.rid index 6f65d612..76d98d23 100644 --- a/doc_rdoc/created.rid +++ b/doc_rdoc/created.rid @@ -1,71 +1,16 @@ -Sun, 09 Jun 2013 16:05:12 +0200 -./cache/browser/009907d6fb8a1b5a66347df2b3c4e8f86 Sun, 09 Jun 2013 15:58:57 +0200 -./cache/browser/00b94d6223a865a38dc160cf1717ebd6a Sun, 09 Jun 2013 15:58:51 +0200 -./cache/browser/01355d127b283b2c0dea7ec72118496ee Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/0274e6c3404a7320df63dc6ee4ae80f9d Sun, 09 Jun 2013 15:58:54 +0200 -./cache/browser/0d543fabe5fec0160430da3e798eb98df Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/0db81b1dc4431c8abc4247e4322cc3bdc Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/1220e96de63c5955f3aa2be38e947b93c Sun, 09 Jun 2013 15:58:59 +0200 -./cache/browser/1b930b2041ea6798c8d3b8d22a02d0066 Sun, 09 Jun 2013 15:58:52 +0200 -./cache/browser/1c18ed29a8fe5424a19a2aa39d48ccdfd Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/1d39322b7e06d3a1fb0e898469aebcb54 Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/24997629520c1d9203a34dd2d186b673a Sun, 09 Jun 2013 15:58:54 +0200 -./cache/browser/282495163dfecaa4acc382f6b94299f0c Sun, 09 Jun 2013 15:58:58 +0200 -./cache/browser/2e889bd154ea292402ef8dd4f24f8ac1b Sun, 09 Jun 2013 15:58:51 +0200 -./cache/browser/41817cd7c85d9cae1bd385a9db82042d1 Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/41aded33df0a72dce6c40aaefea30fa77 Sun, 09 Jun 2013 15:58:52 +0200 -./cache/browser/42686ddf83c1f71315c3035bd8d137a53 Sun, 09 Jun 2013 15:58:57 +0200 -./cache/browser/485b31f9900b5bfad80c63fb117178fd1 Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/4b49b55ec0f4b03e9085899d2b8be490c Sun, 09 Jun 2013 15:58:58 +0200 -./cache/browser/54ea526c303b4eaf0580c10b64bdd866c Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/55520b89ca4329a7f25d18ca302f5afe0 Sun, 09 Jun 2013 15:58:53 +0200 -./cache/browser/558966d13c953cd79c5224d737e65c934 Sun, 09 Jun 2013 15:58:52 +0200 -./cache/browser/5e3a3eae06ed6ea92f8b9c7d4a1fc8994 Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/60d3cf8e970c4b919eca411b9f64e50ec Sun, 09 Jun 2013 15:58:52 +0200 -./cache/browser/697f0e00c6df81805031295e80e73b3d8 Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/6b96ba3484b06f766f9a5aa718fca5c79 Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/710e0c3d5cb09cc34a45c4678995d5a9d Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/77437290e1655c8336c83e8f9e1ab5588 Sun, 09 Jun 2013 15:58:57 +0200 -./cache/browser/7859d9c6bc52387049236b74124e268dd Sun, 09 Jun 2013 15:58:52 +0200 -./cache/browser/7af4cf118225b3033dc8f7454a8320d9e Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/7f4e056116be0d114563027ea087978bf Sun, 09 Jun 2013 15:58:54 +0200 -./cache/browser/8047aeaffc975491848f29a4985e357f3 Sun, 09 Jun 2013 15:58:54 +0200 -./cache/browser/81185fc8ffe33c9fcc39447775114118e Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/82932df112b8d052d5fd3c80331842583 Sun, 09 Jun 2013 15:58:51 +0200 -./cache/browser/846deb30e6432efe16bc948b96d48b1cc Sun, 09 Jun 2013 15:58:54 +0200 -./cache/browser/a4751e6903c63ba9467d02210cd77720d Sun, 09 Jun 2013 15:58:51 +0200 -./cache/browser/a6f7002d8f4514d5b1d1ff24e7b551379 Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/ab405bb934598ab9b1d2967526767b7d2 Sun, 09 Jun 2013 15:58:58 +0200 -./cache/browser/b860e5b0115802f0b6f8d1ff835f10ea2 Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/b958bb7109f8534b241cb65046a5211ad Sun, 09 Jun 2013 15:58:52 +0200 -./cache/browser/bc11b69313665360554b55c22eece6b2f Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/be20613214d112b1eca762095c4714f05 Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/c242a1995567e8a8bed8619e36f427ce1 Sun, 09 Jun 2013 15:58:58 +0200 -./cache/browser/c9da7869a6b77ac0c3f07cce8a486dc8d Sun, 09 Jun 2013 15:58:51 +0200 -./cache/browser/cc65a3d9316f5a5eb1c2f8d2620a40f0c Sun, 09 Jun 2013 15:58:58 +0200 -./cache/browser/cookie-jar Sun, 09 Jun 2013 15:58:59 +0200 -./cache/browser/d07bfa8dbdc6f2a3af8a816726b960645 Sun, 09 Jun 2013 15:58:57 +0200 -./cache/browser/e7aa5c4e8309d512a00da29bfa1b96e0e Sun, 09 Jun 2013 15:58:57 +0200 -./cache/browser/e8c659c77d2a0cf1abdbfeeb21bb016a8 Sun, 09 Jun 2013 15:58:55 +0200 -./cache/browser/ed16f4f0a398e5b86d1e43f14893c3a4d Sun, 09 Jun 2013 15:58:58 +0200 -./cache/browser/f7ad91d2c55d0b70810941098e4384328 Sun, 09 Jun 2013 15:58:56 +0200 -./cache/browser/fefbea05c64f99bda2ca8a8104fe6fc59 Sun, 09 Jun 2013 15:58:53 +0200 -./cache/browser/ffba3320f9f10cf08c522e5a945cf5571 Sun, 09 Jun 2013 15:58:57 +0200 -./conf/browser.conf.json Mon, 01 Apr 2013 23:09:01 +0200 +Fri, 19 Jul 2013 21:49:32 +0200 ./CREDITS Mon, 01 Apr 2013 23:09:01 +0200 -./Gemfile Sun, 02 Jun 2013 11:22:32 +0200 -./Gemfile.lock Sun, 02 Jun 2013 11:24:29 +0200 -./generate_doc.sh Sun, 09 Jun 2013 16:04:33 +0200 -./lib/common/browser/actions.rb Fri, 10 May 2013 19:22:55 +0200 +./Gemfile Sat, 22 Jun 2013 21:00:02 +0200 +./lib/common/browser/actions.rb Fri, 19 Jul 2013 13:03:39 +0200 ./lib/common/browser/options.rb Sun, 14 Apr 2013 10:46:08 +0200 ./lib/common/browser.rb Sun, 14 Apr 2013 10:46:08 +0200 -./lib/common/cache_file_store.rb Fri, 05 Apr 2013 20:07:17 +0200 +./lib/common/cache_file_store.rb Fri, 19 Jul 2013 10:55:20 +0200 ./lib/common/collections/vulnerabilities/output.rb Fri, 05 Apr 2013 20:07:17 +0200 ./lib/common/collections/vulnerabilities.rb Fri, 05 Apr 2013 20:07:17 +0200 -./lib/common/collections/wp_items/detectable.rb Fri, 10 May 2013 21:59:47 +0200 +./lib/common/collections/wp_items/detectable.rb Fri, 14 Jun 2013 13:42:57 +0200 ./lib/common/collections/wp_items/output.rb Fri, 05 Apr 2013 20:07:17 +0200 -./lib/common/collections/wp_items.rb Mon, 06 May 2013 20:37:22 +0200 -./lib/common/collections/wp_plugins/detectable.rb Mon, 06 May 2013 20:37:22 +0200 +./lib/common/collections/wp_items.rb Fri, 14 Jun 2013 13:42:57 +0200 +./lib/common/collections/wp_plugins/detectable.rb Fri, 19 Jul 2013 10:55:20 +0200 ./lib/common/collections/wp_plugins.rb Fri, 05 Apr 2013 20:07:17 +0200 ./lib/common/collections/wp_themes/detectable.rb Fri, 05 Apr 2013 20:07:17 +0200 ./lib/common/collections/wp_themes.rb Fri, 05 Apr 2013 20:07:17 +0200 @@ -75,9 +20,9 @@ Sun, 09 Jun 2013 16:05:12 +0200 ./lib/common/collections/wp_users/detectable.rb Tue, 28 May 2013 18:55:56 +0200 ./lib/common/collections/wp_users/output.rb Tue, 28 May 2013 19:38:24 +0200 ./lib/common/collections/wp_users.rb Sun, 14 Apr 2013 10:46:08 +0200 -./lib/common/common_helper.rb Sun, 09 Jun 2013 09:09:12 +0200 +./lib/common/common_helper.rb Sun, 30 Jun 2013 13:29:48 +0200 ./lib/common/custom_option_parser.rb Fri, 05 Apr 2013 20:07:17 +0200 -./lib/common/hacks.rb Sun, 09 Jun 2013 09:09:43 +0200 +./lib/common/hacks.rb Sat, 22 Jun 2013 21:00:02 +0200 ./lib/common/models/vulnerability/output.rb Sun, 14 Apr 2013 10:46:08 +0200 ./lib/common/models/vulnerability.rb Fri, 10 May 2013 21:55:38 +0200 ./lib/common/models/wp_item/existable.rb Sat, 20 Apr 2013 00:32:41 +0200 @@ -97,7 +42,7 @@ Sun, 09 Jun 2013 16:05:12 +0200 ./lib/common/models/wp_timthumb/output.rb Fri, 05 Apr 2013 20:07:17 +0200 ./lib/common/models/wp_timthumb/versionable.rb Sun, 14 Apr 2013 10:46:08 +0200 ./lib/common/models/wp_timthumb.rb Fri, 05 Apr 2013 20:07:17 +0200 -./lib/common/models/wp_user/brute_forcable.rb Sun, 09 Jun 2013 15:56:25 +0200 +./lib/common/models/wp_user/brute_forcable.rb Sun, 09 Jun 2013 16:12:59 +0200 ./lib/common/models/wp_user/existable.rb Sun, 14 Apr 2013 10:46:08 +0200 ./lib/common/models/wp_user.rb Wed, 17 Apr 2013 21:56:58 +0200 ./lib/common/models/wp_version/findable.rb Sun, 14 Apr 2013 10:46:08 +0200 @@ -112,8 +57,9 @@ Sun, 09 Jun 2013 16:05:12 +0200 ./lib/common/updater/updater.rb Fri, 05 Apr 2013 20:07:17 +0200 ./lib/common/updater/updater_factory.rb Fri, 05 Apr 2013 20:07:17 +0200 ./lib/common/version_compare.rb Fri, 10 May 2013 21:55:38 +0200 -./lib/environment.rb Wed, 17 Apr 2013 21:56:58 +0200 +./lib/environment.rb Sun, 30 Jun 2013 13:29:48 +0200 ./lib/wpscan/web_site.rb Sat, 20 Apr 2013 00:32:41 +0200 +./lib/wpscan/wp_target/interesting_headers.rb Fri, 19 Jul 2013 13:55:27 +0200 ./lib/wpscan/wp_target/malwares.rb Sun, 14 Apr 2013 10:46:08 +0200 ./lib/wpscan/wp_target/wp_config_backup.rb Sun, 14 Apr 2013 10:46:08 +0200 ./lib/wpscan/wp_target/wp_custom_directories.rb Sun, 14 Apr 2013 10:46:08 +0200 @@ -121,17 +67,16 @@ Sun, 09 Jun 2013 16:05:12 +0200 ./lib/wpscan/wp_target/wp_login_protection.rb Sun, 14 Apr 2013 10:46:08 +0200 ./lib/wpscan/wp_target/wp_readme.rb Fri, 10 May 2013 19:20:35 +0200 ./lib/wpscan/wp_target/wp_registrable.rb Sun, 14 Apr 2013 10:46:08 +0200 -./lib/wpscan/wp_target.rb Sat, 20 Apr 2013 00:32:41 +0200 -./lib/wpscan/wpscan_helper.rb Sun, 09 Jun 2013 09:13:13 +0200 +./lib/wpscan/wp_target.rb Fri, 19 Jul 2013 13:07:42 +0200 +./lib/wpscan/wpscan_helper.rb Sun, 30 Jun 2013 13:29:48 +0200 ./lib/wpscan/wpscan_options.rb Sun, 09 Jun 2013 09:14:41 +0200 ./lib/wpstools/plugins/checker/checker_plugin.rb Fri, 05 Apr 2013 20:07:17 +0200 -./lib/wpstools/plugins/list_generator/generate_list.rb Fri, 05 Apr 2013 20:07:17 +0200 +./lib/wpstools/plugins/list_generator/generate_list.rb Fri, 14 Jun 2013 13:42:57 +0200 ./lib/wpstools/plugins/list_generator/list_generator_plugin.rb Fri, 05 Apr 2013 20:07:17 +0200 ./lib/wpstools/plugins/list_generator/svn_parser.rb Wed, 17 Apr 2013 21:56:58 +0200 ./lib/wpstools/plugins/stats/stats_plugin.rb Fri, 05 Apr 2013 20:07:17 +0200 ./lib/wpstools/wpstools_helper.rb Fri, 05 Apr 2013 20:07:17 +0200 ./LICENSE Fri, 05 Apr 2013 20:07:17 +0200 -./README Sun, 09 Jun 2013 09:17:41 +0200 -./README.md Sun, 09 Jun 2013 09:17:34 +0200 -./wpscan.rb Sun, 09 Jun 2013 09:20:12 +0200 +./README Fri, 19 Jul 2013 10:55:20 +0200 +./wpscan.rb Fri, 19 Jul 2013 13:39:51 +0200 ./wpstools.rb Wed, 17 Apr 2013 21:56:58 +0200 diff --git a/doc_rdoc/generate_doc_sh.html b/doc_rdoc/generate_doc_sh.html deleted file mode 100644 index d729e1b4..00000000 --- a/doc_rdoc/generate_doc_sh.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - -generate_doc.sh - RDoc Documentation - - - - - - - - - - - - - - - - -
- -

#!/bin/bash DIR=“$( cd ”$( dirname “${BASH_SOURCE}” -)“ && pwd )” rm -rf $DIR/doc_rdoc/ rm -rf $DIR/doc_yard/ rdoc -–root=“$DIR” -x $DIR/cache/ -x spec/ -x data/ -x coverage/ -x doc_rdoc/ -x -log.txt -x wordlist.txt -x debug.log -o $DIR/doc_rdoc yard doc –protected -–private -o $DIR/doc_yard/ –exclude “/(doc_.+?|cache|spec|data|coverage)/” -–exclude “log.txt” –exclude “wordlist.txt” –exclude “debug.log”

- -
- - - - - diff --git a/doc_rdoc/images/add.png b/doc_rdoc/images/add.png deleted file mode 100755 index 6332fefe..00000000 Binary files a/doc_rdoc/images/add.png and /dev/null differ diff --git a/doc_rdoc/images/arrow_up.png b/doc_rdoc/images/arrow_up.png deleted file mode 100755 index 1ebb1932..00000000 Binary files a/doc_rdoc/images/arrow_up.png and /dev/null differ diff --git a/doc_rdoc/images/delete.png b/doc_rdoc/images/delete.png deleted file mode 100755 index 08f24936..00000000 Binary files a/doc_rdoc/images/delete.png and /dev/null differ diff --git a/doc_rdoc/images/tag_blue.png b/doc_rdoc/images/tag_blue.png deleted file mode 100755 index 3f02b5f8..00000000 Binary files a/doc_rdoc/images/tag_blue.png and /dev/null differ diff --git a/doc_rdoc/images/transparent.png b/doc_rdoc/images/transparent.png deleted file mode 100644 index d665e179..00000000 Binary files a/doc_rdoc/images/transparent.png and /dev/null differ diff --git a/doc_rdoc/index.html b/doc_rdoc/index.html index 9cc1428d..84389e23 100644 --- a/doc_rdoc/index.html +++ b/doc_rdoc/index.html @@ -1,262 +1,820 @@ - + + - + - + -RDoc Documentation + RDoc Documentation - + - + + + + - - - - - - + + + +

RDoc Documentation

- - - -
-

This is the API documentation for RDoc Documentation. -

- - - - + + diff --git a/doc_rdoc/js/darkfish.js b/doc_rdoc/js/darkfish.js index f26fd45d..7a2f44c7 100644 --- a/doc_rdoc/js/darkfish.js +++ b/doc_rdoc/js/darkfish.js @@ -9,12 +9,12 @@ /* Provide console simulation for firebug-less environments */ if (!("console" in window) || !("firebug" in console)) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; }; @@ -23,133 +23,96 @@ if (!("console" in window) || !("firebug" in console)) { */ $.fn.unwrap = function( expr ) { return this.each( function() { - $(this).parents( expr ).eq( 0 ).after( this ).remove(); + $(this).parents( expr ).eq( 0 ).after( this ).remove(); }); }; function showSource( e ) { - var target = e.target; - var codeSections = $(target). - parents('.method-detail'). - find('.method-source-code'); + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); - $(target). - parents('.method-detail'). - find('.method-source-code'). - slideToggle(); + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); }; function hookSourceViews() { - $('.method-heading').click( showSource ); + $('.method-description,.method-heading').click( showSource ); }; function toggleDebuggingSection() { - $('.debugging-section').slideToggle(); + $('.debugging-section').slideToggle(); }; function hookDebuggingToggle() { - $('#debugging-toggle img').click( toggleDebuggingSection ); + $('#debugging-toggle img').click( toggleDebuggingSection ); }; -function hookTableOfContentsToggle() { - $('.indexpage li .toc-toggle').each( function() { - $(this).click( function() { - $(this).toggleClass('open'); - }); +function hookQuickSearch() { + $('.quicksearch-field').each( function() { + var searchElems = $(this).parents('.section').find( 'li' ); + var toggle = $(this).parents('.section').find('h3 .search-toggle'); + // console.debug( "Toggle is: %o", toggle ); + var qsbox = $(this).parents('form').get( 0 ); - var section = $(this).next(); - - $(this).click( function() { - section.slideToggle(); - }); - }); -} - -function hookSearch() { - var input = $('#search-field').eq(0); - var result = $('#search-results').eq(0); - $(result).show(); - - var search_section = $('#search-section').get(0); - $(search_section).show(); - - var search = new Search(search_data, input, result); - - search.renderItem = function(result) { - var li = document.createElement('li'); - var html = ''; - - // TODO add relative path to - - - - - - - - - - -

Table of Contents - RDoc Documentation

- -

Pages

- - -

Classes/Modules

- - -

Methods

- - - - - diff --git a/doc_yard/Array.html b/doc_yard/Array.html index 024e1b20..70bf6e10 100644 --- a/doc_yard/Array.html +++ b/doc_yard/Array.html @@ -6,13 +6,13 @@ Class: Array - — Documentation by YARD 0.8.6.1 + — Documentation by YARD 0.8.5.2 - + - + - - - - - - - - - - - - - -

Module: Ethon - - - -

- -
- - - - - - - - -
Defined in:
-
lib/common/hacks.rb
- -
-
- -

Defined Under Namespace

-

- - - - - Classes: Easy - - -

- - - - - - - - - -
- - - - - \ No newline at end of file diff --git a/doc_yard/Ethon/Easy.html b/doc_yard/Ethon/Easy.html deleted file mode 100644 index 8cd53c3d..00000000 --- a/doc_yard/Ethon/Easy.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Class: Ethon::Easy - - — Documentation by YARD 0.8.6.1 - - - - - - - - - - - - - - - - - - - - - -

Class: Ethon::Easy - - - -

- -
- -
Inherits:
-
- Object - -
    -
  • Object
  • - - - -
- show all - -
- - - - - - - - - -
Defined in:
-
lib/common/hacks.rb
- -
-
- -

Defined Under Namespace

-

- - - Modules: Options - - - - -

- - - - - - - - - -
- - - - - \ No newline at end of file diff --git a/doc_yard/Ethon/Easy/Options.html b/doc_yard/Ethon/Easy/Options.html deleted file mode 100644 index f4faa184..00000000 --- a/doc_yard/Ethon/Easy/Options.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Module: Ethon::Easy::Options - - — Documentation by YARD 0.8.6.1 - - - - - - - - - - - - - - - - - - - - - -

Module: Ethon::Easy::Options - - - -

- -
- - - - - - - - -
Defined in:
-
lib/common/hacks.rb
- -
-
- - - - - - - - - -

- Instance Method Summary - (collapse) -

- - - - - - -
-

Instance Method Details

- - -
-

- - - (Object) cookiefile=(value) - - - - - -

- - - - -
-
-
-
-57
-58
-59
-
-
# File 'lib/common/hacks.rb', line 57
-
-def cookiefile=(value)
-  Curl.set_option(:cookiefile, value_for(value, :string), handle)
-end
-
-
- -
-

- - - (Object) cookiejar=(value) - - - - - -

- - - - -
-
-
-
-53
-54
-55
-
-
# File 'lib/common/hacks.rb', line 53
-
-def cookiejar=(value)
-  Curl.set_option(:cookiejar, value_for(value, :string), handle)
-end
-
-
- -
- -
- - - - - \ No newline at end of file diff --git a/doc_yard/File.html b/doc_yard/File.html index f28caf92..d67aba0c 100644 --- a/doc_yard/File.html +++ b/doc_yard/File.html @@ -6,13 +6,13 @@ Class: File - — Documentation by YARD 0.8.6.1 + — Documentation by YARD 0.8.5.2 - + - +