Merge pull request #82 from FireFart/docs

updated docs
This commit is contained in:
ethicalhack3r
2012-12-07 11:28:23 -08:00
20 changed files with 1618 additions and 132 deletions

View File

@@ -273,7 +273,7 @@ on large wordlists, although bareable.</p>
<span class="ruby-identifier">queue_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
<span class="ruby-comment"># create local vars for on_complete call back, Issue 51.</span>
<span class="ruby-identifier">username</span> = <span class="ruby-identifier">login</span>.<span class="ruby-identifier">name</span>
<span class="ruby-identifier">username</span> = <span class="ruby-identifier">login</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">'empty'</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">login</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">login</span>.<span class="ruby-identifier">nickname</span> <span class="ruby-comment"># Issue #66 </span>
<span class="ruby-identifier">password</span> = <span class="ruby-identifier">password</span>
<span class="ruby-comment"># the request object</span>

160
doc/Gemfile.html Normal file
View File

@@ -0,0 +1,160 @@
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>Gemfile - RDoc Documentation</title>
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
<script type="text/javascript">
var rdoc_rel_prefix = "./";
</script>
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
<body class="file">
<nav id="metadata">
<nav id="home-section" class="section">
<h3 class="section-header">
<a href="./index.html">Home</a>
<a href="./table_of_contents.html#classes">Classes</a>
<a href="./table_of_contents.html#methods">Methods</a>
</h3>
</nav>
<nav id="search-section" class="section project-section" class="initially-hidden">
<form action="#" method="get" accept-charset="utf-8">
<h3 class="section-header">
<input type="text" name="search" placeholder="Search" id="search-field"
title="Type to search, Up and Down to navigate, Enter to load">
</h3>
</form>
<ul id="search-results" class="initially-hidden"></ul>
</nav>
<div id="project-metadata">
<nav id="fileindex-section" class="section project-section">
<h3 class="section-header">Pages</h3>
<ul>
<li class="file"><a href="./CREDITS.html">CREDITS</a>
<li class="file"><a href="./Gemfile.html">Gemfile</a>
<li class="file"><a href="./README.html">README</a>
</ul>
</nav>
<nav id="classindex-section" class="section project-section">
<h3 class="section-header">Class and Module Index</h3>
<ul class="link-list">
<li><a href="./Array.html">Array</a>
<li><a href="./Browser.html">Browser</a>
<li><a href="./BruteForce.html">BruteForce</a>
<li><a href="./CacheFileStore.html">CacheFileStore</a>
<li><a href="./Exploit.html">Exploit</a>
<li><a href="./Generate_List.html">Generate_List</a>
<li><a href="./GitUpdater.html">GitUpdater</a>
<li><a href="./Malwares.html">Malwares</a>
<li><a href="./Object.html">Object</a>
<li><a href="./RpcClient.html">RpcClient</a>
<li><a href="./SvnUpdater.html">SvnUpdater</a>
<li><a href="./Svn_Parser.html">Svn_Parser</a>
<li><a href="./URI.html">URI</a>
<li><a href="./Updater.html">Updater</a>
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
<li><a href="./Vulnerable.html">Vulnerable</a>
<li><a href="./WebSite.html">WebSite</a>
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
<li><a href="./WpDetector.html">WpDetector</a>
<li><a href="./WpEnumerator.html">WpEnumerator</a>
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
<li><a href="./WpItem.html">WpItem</a>
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
<li><a href="./WpOptions.html">WpOptions</a>
<li><a href="./WpPlugin.html">WpPlugin</a>
<li><a href="./WpPlugins.html">WpPlugins</a>
<li><a href="./WpReadme.html">WpReadme</a>
<li><a href="./WpTarget.html">WpTarget</a>
<li><a href="./WpTheme.html">WpTheme</a>
<li><a href="./WpThemes.html">WpThemes</a>
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
<li><a href="./WpUser.html">WpUser</a>
<li><a href="./WpUsernames.html">WpUsernames</a>
<li><a href="./WpVersion.html">WpVersion</a>
<li><a href="./WpVulnerability.html">WpVulnerability</a>
<li><a href="./WpscanOptions.html">WpscanOptions</a>
</ul>
</nav>
</div>
</nav>
<div id="documentation" class="description">
<p>source “<a href="https://rubygems.org">rubygems.org</a></p>
<p>gem “typhoeus”, “0.4.2” gem “rspec”, :require =&gt; “spec” gem “nokogiri”
gem “json” gem “webmock”, “1.8.11” gem “simplecov”</p>
</div>
<footer id="validator-badges">
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
</footer>

View File

@@ -80,6 +80,8 @@
<li><a href="#method-i-save">#save</a>
<li><a href="#method-i-set_file_name">#set_file_name</a>
</ul>
</nav>
@@ -250,15 +252,13 @@
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">verbose</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rplugins/</span>
<span class="ruby-ivar">@type</span> = <span class="ruby-string">&quot;plugin&quot;</span>
<span class="ruby-ivar">@svn_url</span> = <span class="ruby-string">'http://plugins.svn.wordpress.org/'</span>
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">'/plugins.txt'</span>
<span class="ruby-ivar">@popular_url</span> = <span class="ruby-string">'http://wordpress.org/extend/plugins/browse/popular/'</span>
<span class="ruby-ivar">@svn_url</span> = <span class="ruby-string">&quot;http://plugins.svn.wordpress.org/&quot;</span>
<span class="ruby-ivar">@popular_url</span> = <span class="ruby-string">&quot;http://wordpress.org/extend/plugins/browse/popular/&quot;</span>
<span class="ruby-ivar">@popular_regex</span> = <span class="ruby-regexp">%r{&lt;h3&gt;&lt;a href=&quot;http://wordpress.org/extend/plugins/(.+)/&quot;&gt;.+&lt;/a&gt;&lt;/h3&gt;}</span>
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rthemes/</span>
<span class="ruby-ivar">@type</span> = <span class="ruby-string">&quot;theme&quot;</span>
<span class="ruby-ivar">@svn_url</span> = <span class="ruby-string">'http://themes.svn.wordpress.org/'</span>
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">'/themes.txt'</span>
<span class="ruby-ivar">@popular_url</span> = <span class="ruby-string">'http://wordpress.org/extend/themes/browse/popular/'</span>
<span class="ruby-ivar">@svn_url</span> = <span class="ruby-string">&quot;http://themes.svn.wordpress.org/&quot;</span>
<span class="ruby-ivar">@popular_url</span> = <span class="ruby-string">&quot;http://wordpress.org/extend/themes/browse/popular/&quot;</span>
<span class="ruby-ivar">@popular_regex</span> = <span class="ruby-regexp">%r{&lt;h3&gt;&lt;a href=&quot;http://wordpress.org/extend/themes/(.+)&quot;&gt;.+&lt;/a&gt;&lt;/h3&gt;}</span>
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Type #{type} not defined&quot;</span>
@@ -299,8 +299,9 @@
<div class="method-source-code" id="generate_full_list-source">
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 48</span>
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 71</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_full_list</span>
<span class="ruby-identifier">set_file_name</span>(<span class="ruby-value">:full</span>)
<span class="ruby-identifier">items</span> = <span class="ruby-constant">Svn_Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@svn_url</span>, <span class="ruby-ivar">@verbose</span>).<span class="ruby-identifier">parse</span>
<span class="ruby-identifier">save</span> <span class="ruby-identifier">items</span>
<span class="ruby-keyword">end</span></pre>
@@ -330,8 +331,9 @@
<div class="method-source-code" id="generate_popular_list-source">
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 53</span>
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 77</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_popular_list</span>(<span class="ruby-identifier">pages</span>)
<span class="ruby-identifier">set_file_name</span>(<span class="ruby-value">:popular</span>)
<span class="ruby-identifier">popular</span> = <span class="ruby-identifier">get_popular_items</span>(<span class="ruby-identifier">pages</span>)
<span class="ruby-identifier">items</span> = <span class="ruby-constant">Svn_Parser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@svn_url</span>, <span class="ruby-ivar">@verbose</span>).<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">popular</span>)
<span class="ruby-identifier">save</span> <span class="ruby-identifier">items</span>
@@ -363,7 +365,7 @@ parse the response for the names.</p>
<div class="method-source-code" id="get_popular_items-source">
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 62</span>
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 86</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_popular_items</span>(<span class="ruby-identifier">pages</span>)
<span class="ruby-identifier">found_items</span> = []
<span class="ruby-identifier">page_count</span> = <span class="ruby-value">1</span>
@@ -380,7 +382,7 @@ parse the response for the names.</p>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;[+] Parsing page &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">page_count</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
<span class="ruby-identifier">page_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-ivar">@popular_regex</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;[+] Found popular #{@type}: #{item}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;[+] Found popular #@type: #{item}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
<span class="ruby-identifier">found_items</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">item</span>[<span class="ruby-value">0</span>]
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
@@ -425,13 +427,13 @@ parse the response for the names.</p>
<div class="method-source-code" id="save-source">
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 99</span>
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 123</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">save</span>(<span class="ruby-identifier">items</span>)
<span class="ruby-identifier">items</span>.<span class="ruby-identifier">sort!</span>
<span class="ruby-identifier">items</span>.<span class="ruby-identifier">uniq!</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;[*] We have parsed #{items.length} #{@type}s&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;[*] We have parsed #{items.length} #@types&quot;</span>
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-ivar">@file_name</span>, <span class="ruby-string">'w'</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-identifier">items</span>) }
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;New #{@file_name} file created&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;New #@file_name file created&quot;</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- save-source -->
@@ -443,6 +445,57 @@ parse the response for the names.</p>
</div><!-- save-method -->
<div id="method-i-set_file_name" class="method-detail ">
<div class="method-heading">
<span class="method-name">set_file_name</span><span
class="method-args">(type)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code" id="set_file_name-source">
<pre><span class="ruby-comment"># File lib/wpstools/generate_list.rb, line 46</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">set_file_name</span>(<span class="ruby-identifier">type</span>)
<span class="ruby-keyword">case</span> <span class="ruby-ivar">@type</span>
<span class="ruby-keyword">when</span> <span class="ruby-string">&quot;plugin&quot;</span>
<span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span>
<span class="ruby-keyword">when</span> <span class="ruby-value">:full</span>
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;/plugins_full.txt&quot;</span>
<span class="ruby-keyword">when</span> <span class="ruby-value">:popular</span>
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;/plugins.txt&quot;</span>
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Unknown type&quot;</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">when</span> <span class="ruby-string">&quot;theme&quot;</span>
<span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span>
<span class="ruby-keyword">when</span> <span class="ruby-value">:full</span>
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;/themes_full.txt&quot;</span>
<span class="ruby-keyword">when</span> <span class="ruby-value">:popular</span>
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;/themes.txt&quot;</span>
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Unknown type&quot;</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown type #@type&quot;</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- set_file_name-source -->
</div>
</div><!-- set_file_name-method -->
</section><!-- public-instance-method-details -->
</section><!-- 5Buntitled-5D -->

View File

@@ -514,7 +514,7 @@
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;Help :&quot;</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;Some values are settable in conf/browser.conf.json :&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot; user-agent, proxy, threads, cache timeout and request timeout&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot; user-agent, proxy, proxy-auth, threads, cache timeout and request timeout&quot;</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--update Update to the latest revision&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--url | -u &lt;target url&gt; The WordPress URL/domain to scan.&quot;</span>
@@ -533,12 +533,15 @@
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot; Multiple values are allowed : '-e t,p' will enumerate timthumbs and plugins&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot; If no option is supplied, the default is 'vt,tt,u,vp'&quot;</span>
<span class="ruby-identifier">puts</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--exclude-content-based '&lt;regexp or string&gt;' Used with the enumeration option, will exclude all occurence based on the regexp or string supplied&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot; You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--config-file | -c &lt;config file&gt; Use the specified config file&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--follow-redirection If the target url has a redirection, it will be followed without asking if you wanted to do so or not&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--wp-content-dir &lt;wp content dir&gt; WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--wp-plugins-dir &lt;wp plugins dir&gt; Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--proxy Supply a proxy in the format host:port or protocol://host:port (will override the one from conf/browser.conf.json).&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot; HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--proxy-auth Supply the proxy login credentials in the format username:password (will override the one from conf/browser.conf.json).&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--wordlist | -w &lt;wordlist&gt; Supply a wordlist for the password bruter and do the brute.&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--threads | -t &lt;number of threads&gt; The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)&quot;</span>
<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;--username | -U &lt;username&gt; Only brute force the supplied username.&quot;</span>

View File

@@ -222,8 +222,28 @@ href="http://www.gnu.org/licenses/">www.gnu.org/licenses/</a>&gt;.</p>
<span class="ruby-constant">It</span> <span class="ruby-identifier">happens</span> <span class="ruby-identifier">with</span> <span class="ruby-identifier">enumeration</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">just</span> <span class="ruby-identifier">put</span> <span class="ruby-identifier">the</span> <span class="ruby-string">'t'</span> <span class="ruby-keyword">or</span> <span class="ruby-string">'u'</span> <span class="ruby-identifier">before</span> <span class="ruby-identifier">the</span> <span class="ruby-string">'p!'</span> <span class="ruby-operator">:</span> <span class="ruby-string">'-e tp!'</span> <span class="ruby-identifier">instead</span> <span class="ruby-identifier">of</span> <span class="ruby-string">'-e p!t'</span>
<span class="ruby-operator">-</span> <span class="ruby-constant">Proxy</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">working</span><span class="ruby-operator">:</span>
<span class="ruby-constant">Update</span> <span class="ruby-identifier">cURL</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">7.21</span><span class="ruby-value">.7</span> (<span class="ruby-identifier">may</span> <span class="ruby-identifier">have</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">from</span> <span class="ruby-identifier">source</span>)
<span class="ruby-constant">See</span> <span class="ruby-identifier">https</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rgithub.com/</span><span class="ruby-identifier">wpscanteam</span><span class="ruby-operator">/</span><span class="ruby-identifier">wpscan</span><span class="ruby-operator">/</span><span class="ruby-identifier">issues</span><span class="ruby-operator">/</span><span class="ruby-value">7</span>
<span class="ruby-constant">Update</span> <span class="ruby-identifier">cURL</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">7.21</span><span class="ruby-value">.7</span> (<span class="ruby-identifier">may</span> <span class="ruby-identifier">have</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">from</span> <span class="ruby-identifier">source</span>).
<span class="ruby-constant">Installation</span> <span class="ruby-identifier">from</span> <span class="ruby-identifier">sources</span> <span class="ruby-operator">:</span>
<span class="ruby-operator">-</span> <span class="ruby-constant">Grab</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">sources</span> <span class="ruby-identifier">from</span> <span class="ruby-identifier">http</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rcurl.haxx.se/</span><span class="ruby-identifier">download</span>.<span class="ruby-identifier">html</span>
<span class="ruby-operator">-</span> <span class="ruby-constant">Decompress</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">archive</span>
<span class="ruby-operator">-</span> <span class="ruby-constant">Open</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">folder</span> <span class="ruby-identifier">with</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">extracted</span> <span class="ruby-identifier">files</span>
<span class="ruby-operator">-</span> <span class="ruby-constant">Run</span> .<span class="ruby-operator">/</span><span class="ruby-identifier">configure</span>
<span class="ruby-operator">-</span> <span class="ruby-constant">Run</span> <span class="ruby-identifier">make</span>
<span class="ruby-operator">-</span> <span class="ruby-constant">Run</span> <span class="ruby-identifier">sudo</span> <span class="ruby-identifier">make</span> <span class="ruby-identifier">install</span>
<span class="ruby-operator">-</span> <span class="ruby-constant">Run</span> <span class="ruby-identifier">sudo</span> <span class="ruby-identifier">ldconfig</span>
<span class="ruby-operator">-</span> <span class="ruby-identifier">cannot</span> <span class="ruby-identifier">load</span> <span class="ruby-identifier">such</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">-</span><span class="ruby-operator">-</span> <span class="ruby-identifier">readline</span><span class="ruby-operator">:</span>
<span class="ruby-constant">Run</span> <span class="ruby-identifier">sudo</span> <span class="ruby-identifier">aptitude</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">libreadline5</span><span class="ruby-operator">-</span><span class="ruby-identifier">dev</span> <span class="ruby-identifier">libncurses5</span><span class="ruby-operator">-</span><span class="ruby-identifier">dev</span>
<span class="ruby-constant">Then</span>, <span class="ruby-identifier">open</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">directory</span> <span class="ruby-identifier">of</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">readline</span> <span class="ruby-identifier">gem</span> (<span class="ruby-identifier">you</span> <span class="ruby-identifier">have</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">locate</span> <span class="ruby-identifier">it</span>)
<span class="ruby-identifier">cd</span> <span class="ruby-operator">~</span><span class="ruby-regexp">%r.rvm/</span><span class="ruby-identifier">rc</span><span class="ruby-operator">/</span><span class="ruby-identifier">ruby</span><span class="ruby-operator">-</span><span class="ruby-value">1.9</span><span class="ruby-value">.2</span><span class="ruby-operator">-</span><span class="ruby-identifier">p180</span><span class="ruby-operator">/</span><span class="ruby-identifier">ext</span><span class="ruby-operator">/</span><span class="ruby-identifier">readline</span>
<span class="ruby-identifier">ruby</span> <span class="ruby-identifier">extconf</span>.<span class="ruby-identifier">rb</span>
<span class="ruby-identifier">make</span>
<span class="ruby-identifier">make</span> <span class="ruby-identifier">install</span>
<span class="ruby-constant">See</span> <span class="ruby-identifier">http</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rvvv.tobiassjosten.net/</span><span class="ruby-identifier">ruby</span><span class="ruby-operator">-</span><span class="ruby-identifier">on</span><span class="ruby-operator">-</span><span class="ruby-identifier">rails</span><span class="ruby-operator">/</span><span class="ruby-identifier">fixing</span><span class="ruby-operator">-</span><span class="ruby-identifier">readline</span><span class="ruby-operator">-</span><span class="ruby-keyword">for</span><span class="ruby-operator">-</span><span class="ruby-identifier">the</span><span class="ruby-operator">-</span><span class="ruby-identifier">ruby</span><span class="ruby-operator">-</span><span class="ruby-identifier">on</span><span class="ruby-operator">-</span><span class="ruby-identifier">rails</span><span class="ruby-operator">-</span><span class="ruby-identifier">console</span><span class="ruby-operator">/</span> <span class="ruby-keyword">for</span> <span class="ruby-identifier">more</span> <span class="ruby-identifier">details</span>
</pre>
<h2 id="label-WPSCAN+ARGUMENTS%3D%3D">WPSCAN ARGUMENTS==</h2>
@@ -242,12 +262,20 @@ WordPress.</p>
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
vp 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'</pre>
<p>exclude-content-based &lt;regexp or string&gt; Used with the
enumeration option, will exclude all occurence based on the regexp or
string supplied</p>
<pre>You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)</pre>
<p>config-file | -c &lt;config file&gt; Use the specified config file</p>
<p>follow-redirection If the target url has a redirection, it will be
@@ -266,6 +294,9 @@ wp-content-dir/plugins. Subdirectories are allowed</p>
and SOCKS5 are supported. If no protocol is given (format host:port), HTTP
will be used</p>
<p>proxy-auth Supply the proxy login credentials in the format
username:password (will override the one from conf/browser.conf.json).</p>
<p>wordlist | -w &lt;wordlist&gt; Supply a wordlist for the password bruter
and do the brute.</p>

View File

@@ -224,8 +224,10 @@
<span class="ruby-identifier">result</span> = <span class="ruby-identifier">items</span>
<span class="ruby-keyword">if</span> <span class="ruby-identifier">items</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">items</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:only_vulnerable_ones</span>]
<span class="ruby-identifier">result</span> = <span class="ruby-identifier">passive_detection</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>])
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">enum_results</span> = <span class="ruby-constant">WpEnumerator</span>.<span class="ruby-identifier">enumerate</span>(<span class="ruby-identifier">options</span>)
<span class="ruby-identifier">enum_results</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">enum_result</span><span class="ruby-operator">|</span>
@@ -273,7 +275,7 @@
<div class="method-source-code" id="passive_detection-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_detector.rb, line 50</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_detector.rb, line 52</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">passive_detection</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">wp_content_dir</span>)
<span class="ruby-identifier">items</span> = []
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)

View File

@@ -259,6 +259,7 @@
<span class="ruby-identifier">enum_browser</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>
<span class="ruby-identifier">enum_hydra</span> = <span class="ruby-identifier">enum_browser</span>.<span class="ruby-identifier">hydra</span>
<span class="ruby-identifier">enumerate_size</span> = <span class="ruby-identifier">targets</span>.<span class="ruby-identifier">size</span>
<span class="ruby-identifier">exclude_regexp</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:exclude_content_based</span>] <span class="ruby-operator">?</span> <span class="ruby-node">%r{#{options[:exclude_content_based]}}</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>
<span class="ruby-identifier">targets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">target</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">target</span>.<span class="ruby-identifier">get_full_url</span>
@@ -272,8 +273,14 @@
<span class="ruby-keyword">if</span> <span class="ruby-constant">WpTarget</span>.<span class="ruby-identifier">valid_response_codes</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span>)
<span class="ruby-keyword">if</span> <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>) <span class="ruby-operator">!=</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:error_404_hash</span>]
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:exclude_content_based</span>]
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-identifier">exclude_regexp</span>]
<span class="ruby-identifier">found</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">target</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">found</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">target</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
@@ -321,7 +328,7 @@
<div class="method-source-code" id="generate_items-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_enumerator.rb, line 84</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_enumerator.rb, line 91</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">generate_items</span>(<span class="ruby-identifier">options</span> = {})
<span class="ruby-identifier">only_vulnerable</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:only_vulnerable_ones</span>]
<span class="ruby-identifier">file</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>]

View File

@@ -405,7 +405,7 @@
<div class="method-source-code" id="debug_log_url-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 123</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 124</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">debug_log_url</span>
<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-node">&quot;#{wp_content_dir()}/debug.log&quot;</span>).<span class="ruby-identifier">to_s</span>
<span class="ruby-keyword">end</span></pre>
@@ -473,7 +473,7 @@
<div class="method-source-code" id="has_debug_log-3F-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 117</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 118</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_debug_log?</span>
<span class="ruby-comment"># We only get the first 700 bytes of the file to avoid loading huge file (like 2Go)</span>
<span class="ruby-identifier">response_body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">debug_log_url</span>(), <span class="ruby-value">:headers</span> =<span class="ruby-operator">&gt;</span> {<span class="ruby-string">&quot;range&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;bytes=0-700&quot;</span>}).<span class="ruby-identifier">body</span>
@@ -505,7 +505,7 @@
<div class="method-source-code" id="is_multisite-3F-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 162</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 163</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">is_multisite?</span>
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@multisite</span>
<span class="ruby-comment"># when multi site, there is no redirection or a redirect to the site itself</span>
@@ -588,7 +588,7 @@
<div class="method-source-code" id="registration_enabled-3F-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 140</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 141</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">registration_enabled?</span>
<span class="ruby-identifier">resp</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">registration_url</span>)
<span class="ruby-comment"># redirect only on non multi sites</span>
@@ -632,7 +632,7 @@
<div class="method-source-code" id="registration_url-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 158</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 159</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">registration_url</span>
<span class="ruby-identifier">is_multisite?</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">&quot;wp-signup.php&quot;</span>) <span class="ruby-operator">:</span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">&quot;wp-login.php?action=register&quot;</span>)
<span class="ruby-keyword">end</span></pre>
@@ -662,7 +662,7 @@
<div class="method-source-code" id="search_replace_db_2_exists-3F-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 134</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 135</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">search_replace_db_2_exists?</span>
<span class="ruby-identifier">resp</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">search_replace_db_2_url</span>)
<span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%r{by interconnect}</span>]
@@ -695,7 +695,7 @@ href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases/"
<div class="method-source-code" id="search_replace_db_2_url-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 130</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 131</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">search_replace_db_2_url</span>
<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">&quot;searchreplacedb2.php&quot;</span>).<span class="ruby-identifier">to_s</span>
<span class="ruby-keyword">end</span></pre>
@@ -825,7 +825,8 @@ href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases/"
<span class="ruby-keyword">if</span> <span class="ruby-identifier">index_body</span>[<span class="ruby-regexp">%r\/wp-content\/(?:themes|plugins)\//</span>]
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-string">&quot;wp-content&quot;</span>
<span class="ruby-keyword">else</span>
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-identifier">index_body</span>[<span class="ruby-node">%r(?:href|src)\s*=\s*(?:&quot;|').+#{Regexp.escape(uri_path)}([^&quot;']+)\/(?:themes|plugins)\/.*(?:&quot;|')/</span>, <span class="ruby-value">1</span>]
<span class="ruby-identifier">domains_excluded</span> = <span class="ruby-string">&quot;(?:www\.)?(facebook|twitter)\.com&quot;</span>
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-identifier">index_body</span>[<span class="ruby-node">%r(?:href|src)\s*=\s*(?:&quot;|').+#{Regexp.escape(uri_path)}((?!#{domains_excluded})[^&quot;']+)\/(?:themes|plugins)\/.*(?:&quot;|')/</span>, <span class="ruby-value">1</span>]
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
<span class="ruby-ivar">@wp_content_dir</span>
@@ -856,7 +857,7 @@ href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases/"
<div class="method-source-code" id="wp_plugins_dir-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 106</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 107</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wp_plugins_dir</span>
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@wp_plugins_dir</span>
<span class="ruby-ivar">@wp_plugins_dir</span> = <span class="ruby-node">&quot;#{wp_content_dir}/plugins&quot;</span>
@@ -889,7 +890,7 @@ href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases/"
<div class="method-source-code" id="wp_plugins_dir_exists-3F-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 113</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 114</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wp_plugins_dir_exists?</span>
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">wp_plugins_dir</span>)).<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value">404</span>
<span class="ruby-keyword">end</span></pre>

View File

@@ -78,6 +78,18 @@
<li><a href="#method-i-eql-3F">#eql?</a>
<li><a href="#method-i-id">#id</a>
<li><a href="#method-i-id-3D">#id=</a>
<li><a href="#method-i-name">#name</a>
<li><a href="#method-i-name-3D">#name=</a>
<li><a href="#method-i-nickname">#nickname</a>
<li><a href="#method-i-nickname-3D">#nickname=</a>
</ul>
</nav>
@@ -199,52 +211,6 @@
<!-- Attributes -->
<section id="attribute-method-details" class="method-section section">
<h3 class="section-header">Attributes</h3>
<div id="attribute-i-id" class="method-detail">
<div class="method-heading attribute-method-heading">
<span class="method-name">id</span><span
class="attribute-access-type">[RW]</span>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-name" class="method-detail">
<div class="method-heading attribute-method-heading">
<span class="method-name">name</span><span
class="attribute-access-type">[RW]</span>
</div>
<div class="method-description">
</div>
</div>
<div id="attribute-i-nickname" class="method-detail">
<div class="method-heading attribute-method-heading">
<span class="method-name">nickname</span><span
class="attribute-access-type">[RW]</span>
</div>
<div class="method-description">
</div>
</div>
</section><!-- attribute-method-details -->
<!-- Methods -->
@@ -268,11 +234,11 @@
<div class="method-source-code" id="new-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 22</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 54</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">nickname</span>)
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;empty&quot;</span>
<span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">id</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;empty&quot;</span>
<span class="ruby-ivar">@nickname</span> = <span class="ruby-identifier">nickname</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">nickname</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;empty&quot;</span>
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">id</span> = <span class="ruby-identifier">id</span>
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">nickname</span> = <span class="ruby-identifier">nickname</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- new-source -->
@@ -306,9 +272,9 @@
<div class="method-source-code" id="3C-3D-3E-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 28</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 60</span>
<span class="ruby-keyword">def</span> <span class="ruby-operator">&lt;=&gt;</span>(<span class="ruby-identifier">item</span>)
<span class="ruby-identifier">item</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-ivar">@name</span>
<span class="ruby-identifier">item</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- 3C-3D-3E-source -->
@@ -336,9 +302,9 @@
<div class="method-source-code" id="3D-3D-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 32</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 64</span>
<span class="ruby-keyword">def</span> <span class="ruby-operator">===</span>(<span class="ruby-identifier">item</span>)
<span class="ruby-identifier">item</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@name</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@id</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">nickname</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@nickname</span>
<span class="ruby-identifier">item</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">id</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">nickname</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">nickname</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- 3D-3D-3D-source -->
@@ -366,9 +332,9 @@
<div class="method-source-code" id="eql-3F-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 36</span>
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 68</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">item</span>)
<span class="ruby-identifier">item</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@name</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@id</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">nickname</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@nickname</span>
<span class="ruby-identifier">item</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">id</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">nickname</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">nickname</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- eql-3F-source -->
@@ -380,6 +346,195 @@
</div><!-- eql-3F-method -->
<div id="method-i-id" class="method-detail ">
<div class="method-heading">
<span class="method-name">id</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code" id="id-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 32</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">id</span>
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@id</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@id</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
<span class="ruby-keyword">return</span> <span class="ruby-string">&quot;empty&quot;</span>
<span class="ruby-keyword">end</span>
<span class="ruby-ivar">@id</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- id-source -->
</div>
</div><!-- id-method -->
<div id="method-i-id-3D" class="method-detail ">
<div class="method-heading">
<span class="method-name">id=</span><span
class="method-args">(new_id)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code" id="id-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 39</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">id=</span>(<span class="ruby-identifier">new_id</span>)
<span class="ruby-ivar">@id</span> = <span class="ruby-identifier">new_id</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- id-3D-source -->
</div>
</div><!-- id-3D-method -->
<div id="method-i-name" class="method-detail ">
<div class="method-heading">
<span class="method-name">name</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code" id="name-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 21</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">name</span>
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@name</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
<span class="ruby-keyword">return</span> <span class="ruby-string">&quot;empty&quot;</span>
<span class="ruby-keyword">end</span>
<span class="ruby-ivar">@name</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- name-source -->
</div>
</div><!-- name-method -->
<div id="method-i-name-3D" class="method-detail ">
<div class="method-heading">
<span class="method-name">name=</span><span
class="method-args">(new_name)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code" id="name-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 28</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">name=</span>(<span class="ruby-identifier">new_name</span>)
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">new_name</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- name-3D-source -->
</div>
</div><!-- name-3D-method -->
<div id="method-i-nickname" class="method-detail ">
<div class="method-heading">
<span class="method-name">nickname</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code" id="nickname-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 43</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">nickname</span>
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@nickname</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@nickname</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
<span class="ruby-keyword">return</span> <span class="ruby-string">&quot;empty&quot;</span>
<span class="ruby-keyword">end</span>
<span class="ruby-ivar">@nickname</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- nickname-source -->
</div>
</div><!-- nickname-method -->
<div id="method-i-nickname-3D" class="method-detail ">
<div class="method-heading">
<span class="method-name">nickname=</span><span
class="method-args">(new_nickname)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code" id="nickname-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 50</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">nickname=</span>(<span class="ruby-identifier">new_nickname</span>)
<span class="ruby-ivar">@nickname</span> = <span class="ruby-identifier">new_nickname</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- nickname-3D-source -->
</div>
</div><!-- nickname-3D-method -->
</section><!-- public-instance-method-details -->
</section><!-- 5Buntitled-5D -->

View File

@@ -270,7 +270,7 @@ href="WpscanOptions.html">WpscanOptions</a></p>
<div class="method-source-code" id="load_from_arguments-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 158</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 159</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">load_from_arguments</span>
<span class="ruby-identifier">wpscan_options</span> = <span class="ruby-constant">WpscanOptions</span>.<span class="ruby-identifier">new</span>
@@ -308,7 +308,7 @@ href="WpscanOptions.html">WpscanOptions</a></p>
<div class="method-source-code" id="new-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 50</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 51</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
<span class="ruby-constant">ACCESSOR_OPTIONS</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">option</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-node">&quot;@#{option}&quot;</span>, <span class="ruby-keyword">nil</span>)
@@ -349,7 +349,7 @@ any remaining - by _</p>
<div class="method-source-code" id="clean_option-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 254</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 256</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">clean_option</span>(<span class="ruby-identifier">option</span>)
<span class="ruby-identifier">cleaned_option</span> = <span class="ruby-identifier">option</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r^--?/</span>, <span class="ruby-string">''</span>)
<span class="ruby-identifier">cleaned_option</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r-/</span>, <span class="ruby-string">'_'</span>)
@@ -381,7 +381,7 @@ any remaining - by _</p>
<div class="method-source-code" id="get_opt_long-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 225</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 226</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get_opt_long</span>
<span class="ruby-constant">GetoptLong</span>.<span class="ruby-identifier">new</span>(
[<span class="ruby-string">&quot;--url&quot;</span>, <span class="ruby-string">&quot;-u&quot;</span>, <span class="ruby-constant">GetoptLong</span><span class="ruby-operator">::</span><span class="ruby-constant">REQUIRED_ARGUMENT</span>],
@@ -398,7 +398,8 @@ any remaining - by _</p>
[<span class="ruby-string">&quot;--follow-redirection&quot;</span>, <span class="ruby-constant">GetoptLong</span><span class="ruby-operator">::</span><span class="ruby-constant">NO_ARGUMENT</span>],
[<span class="ruby-string">&quot;--wp-content-dir&quot;</span>, <span class="ruby-constant">GetoptLong</span><span class="ruby-operator">::</span><span class="ruby-constant">REQUIRED_ARGUMENT</span>],
[<span class="ruby-string">&quot;--wp-plugins-dir&quot;</span>, <span class="ruby-constant">GetoptLong</span><span class="ruby-operator">::</span><span class="ruby-constant">REQUIRED_ARGUMENT</span>],
[<span class="ruby-string">&quot;--config-file&quot;</span>, <span class="ruby-string">&quot;-c&quot;</span>, <span class="ruby-constant">GetoptLong</span><span class="ruby-operator">::</span><span class="ruby-constant">REQUIRED_ARGUMENT</span>]
[<span class="ruby-string">&quot;--config-file&quot;</span>, <span class="ruby-string">&quot;-c&quot;</span>, <span class="ruby-constant">GetoptLong</span><span class="ruby-operator">::</span><span class="ruby-constant">REQUIRED_ARGUMENT</span>],
[<span class="ruby-string">&quot;--exclude-content-based&quot;</span>, <span class="ruby-constant">GetoptLong</span><span class="ruby-operator">::</span><span class="ruby-constant">REQUIRED_ARGUMENT</span>]
)
<span class="ruby-keyword">end</span></pre>
</div><!-- get_opt_long-source -->
@@ -427,7 +428,7 @@ any remaining - by _</p>
<div class="method-source-code" id="is_long_option-3F-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 245</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 247</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">is_long_option?</span>(<span class="ruby-identifier">option</span>)
<span class="ruby-constant">ACCESSOR_OPTIONS</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:&quot;#{WpscanOptions.clean_option(option)}&quot;</span>)
<span class="ruby-keyword">end</span></pre>
@@ -457,7 +458,7 @@ any remaining - by _</p>
<div class="method-source-code" id="option_to_instance_variable_setter-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 259</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 261</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">option_to_instance_variable_setter</span>(<span class="ruby-identifier">option</span>)
<span class="ruby-identifier">cleaned_option</span> = <span class="ruby-constant">WpscanOptions</span>.<span class="ruby-identifier">clean_option</span>(<span class="ruby-identifier">option</span>)
<span class="ruby-identifier">option_syms</span> = <span class="ruby-constant">ACCESSOR_OPTIONS</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-node">%r{^#{cleaned_option}$}</span>)
@@ -496,7 +497,7 @@ any remaining - by _</p>
<div class="method-source-code" id="enumerate_all_plugins-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 106</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 107</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">enumerate_all_plugins=</span>(<span class="ruby-identifier">enumerate_all_plugins</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">enumerate_all_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">and</span> (<span class="ruby-ivar">@enumerate_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@enumerate_only_vulnerable_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Please choose only one plugin enumeration option&quot;</span>
@@ -530,7 +531,7 @@ any remaining - by _</p>
<div class="method-source-code" id="enumerate_all_themes-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 130</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 131</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">enumerate_all_themes=</span>(<span class="ruby-identifier">enumerate_all_themes</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">enumerate_all_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">and</span> (<span class="ruby-ivar">@enumerate_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@enumerate_only_vulnerable_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Please choose only one theme enumeration option&quot;</span>
@@ -564,7 +565,7 @@ any remaining - by _</p>
<div class="method-source-code" id="enumerate_only_vulnerable_plugins-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 98</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 99</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">enumerate_only_vulnerable_plugins=</span>(<span class="ruby-identifier">enumerate_only_vulnerable_plugins</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">enumerate_only_vulnerable_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">and</span> (<span class="ruby-ivar">@enumerate_all_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@enumerate_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Please choose only one plugin enumeration option&quot;</span>
@@ -598,7 +599,7 @@ any remaining - by _</p>
<div class="method-source-code" id="enumerate_only_vulnerable_themes-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 122</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 123</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">enumerate_only_vulnerable_themes=</span>(<span class="ruby-identifier">enumerate_only_vulnerable_themes</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">enumerate_only_vulnerable_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">and</span> (<span class="ruby-ivar">@enumerate_all_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@enumerate_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Please choose only one theme enumeration option&quot;</span>
@@ -636,7 +637,7 @@ href="http://1-10">u</a> will enumerate usernames from 1 to 10</p>
<div class="method-source-code" id="enumerate_options_from_string-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 193</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 194</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">enumerate_options_from_string</span>(<span class="ruby-identifier">value</span>)
<span class="ruby-comment"># Usage of self is mandatory because there are overridden setters</span>
@@ -692,7 +693,7 @@ href="http://1-10">u</a> will enumerate usernames from 1 to 10</p>
<div class="method-source-code" id="enumerate_plugins-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 90</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 91</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">enumerate_plugins=</span>(<span class="ruby-identifier">enumerate_plugins</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">enumerate_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">and</span> (<span class="ruby-ivar">@enumerate_all_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@enumerate_only_vulnerable_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Please choose only one plugin enumeration option&quot;</span>
@@ -726,7 +727,7 @@ href="http://1-10">u</a> will enumerate usernames from 1 to 10</p>
<div class="method-source-code" id="enumerate_themes-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 114</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 115</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">enumerate_themes=</span>(<span class="ruby-identifier">enumerate_themes</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">enumerate_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">and</span> (<span class="ruby-ivar">@enumerate_all_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@enumerate_only_vulnerable_themes</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Please choose only one theme enumeration option&quot;</span>
@@ -760,7 +761,7 @@ href="http://1-10">u</a> will enumerate usernames from 1 to 10</p>
<div class="method-source-code" id="has_options-3F-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 138</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 139</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_options?</span>
<span class="ruby-operator">!</span><span class="ruby-identifier">to_h</span>.<span class="ruby-identifier">empty?</span>
<span class="ruby-keyword">end</span></pre>
@@ -790,7 +791,7 @@ href="http://1-10">u</a> will enumerate usernames from 1 to 10</p>
<div class="method-source-code" id="proxy-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 74</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 75</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">proxy=</span>(<span class="ruby-identifier">proxy</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">proxy</span>.<span class="ruby-identifier">index</span>(<span class="ruby-string">':'</span>) <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Invalid proxy format. Should be host:port.&quot;</span>
@@ -824,7 +825,7 @@ href="http://1-10">u</a> will enumerate usernames from 1 to 10</p>
<div class="method-source-code" id="proxy_auth-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 82</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 83</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">proxy_auth=</span>(<span class="ruby-identifier">auth</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">auth</span>.<span class="ruby-identifier">index</span>(<span class="ruby-string">':'</span>) <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Invalid proxy auth format, username:password expected&quot;</span>
@@ -859,7 +860,7 @@ value</p>
<div class="method-source-code" id="set_option_from_cli-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 172</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 173</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">set_option_from_cli</span>(<span class="ruby-identifier">cli_option</span>, <span class="ruby-identifier">cli_value</span>)
<span class="ruby-keyword">if</span> <span class="ruby-constant">WpscanOptions</span>.<span class="ruby-identifier">is_long_option?</span>(<span class="ruby-identifier">cli_option</span>)
@@ -902,7 +903,7 @@ value</p>
<div class="method-source-code" id="threads-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 62</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 63</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">threads=</span>(<span class="ruby-identifier">threads</span>)
<span class="ruby-ivar">@threads</span> = <span class="ruby-identifier">threads</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Integer</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">threads</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">threads</span>.<span class="ruby-identifier">to_i</span>
<span class="ruby-keyword">end</span></pre>
@@ -932,7 +933,7 @@ value</p>
<div class="method-source-code" id="to_h-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 143</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 144</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_h</span>
<span class="ruby-identifier">options</span> = {}
@@ -971,7 +972,7 @@ value</p>
<div class="method-source-code" id="url-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 56</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 57</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">url=</span>(<span class="ruby-identifier">url</span>)
<span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Empty URL given&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">url</span>
@@ -1003,7 +1004,7 @@ value</p>
<div class="method-source-code" id="wordlist-3D-source">
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 66</span>
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 67</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wordlist=</span>(<span class="ruby-identifier">wordlist</span>)
<span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">wordlist</span>)
<span class="ruby-ivar">@wordlist</span> = <span class="ruby-identifier">wordlist</span>

View File

@@ -1,6 +1,6 @@
Mon, 26 Nov 2012 22:36:17 +0100
Fri, 07 Dec 2012 20:17:41 +0100
./CREDITS Tue, 25 Sep 2012 20:37:12 +0200
./Gemfile Sat, 10 Nov 2012 09:50:17 +0100
./Gemfile Thu, 06 Dec 2012 19:53:03 +0100
./lib/browser.rb Fri, 23 Nov 2012 18:46:41 +0100
./lib/cache_file_store.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/common_helper.rb Sat, 10 Nov 2012 09:50:17 +0100
@@ -10,34 +10,34 @@ Mon, 26 Nov 2012 22:36:17 +0100
./lib/updater/updater.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/updater/updater_factory.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/exploit.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/modules/brute_force.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/modules/brute_force.rb Thu, 06 Dec 2012 19:53:03 +0100
./lib/wpscan/modules/malwares.rb Sat, 10 Nov 2012 09:50:17 +0100
./lib/wpscan/modules/web_site.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/modules/wp_config_backup.rb Tue, 16 Oct 2012 22:00:10 +0200
./lib/wpscan/modules/wp_full_path_disclosure.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/modules/wp_login_protection.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/modules/wp_plugins.rb Mon, 26 Nov 2012 22:28:31 +0100
./lib/wpscan/modules/wp_plugins.rb Wed, 28 Nov 2012 20:07:48 +0100
./lib/wpscan/modules/wp_readme.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/modules/wp_themes.rb Mon, 26 Nov 2012 22:27:25 +0100
./lib/wpscan/modules/wp_themes.rb Wed, 28 Nov 2012 20:07:48 +0100
./lib/wpscan/modules/wp_timthumbs.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/modules/wp_usernames.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/msfrpc_client.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/vulnerable.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/wp_detector.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/wp_enumerator.rb Sat, 10 Nov 2012 09:50:17 +0100
./lib/wpscan/wp_detector.rb Thu, 06 Dec 2012 19:53:03 +0100
./lib/wpscan/wp_enumerator.rb Thu, 06 Dec 2012 19:53:03 +0100
./lib/wpscan/wp_item.rb Sat, 10 Nov 2012 09:50:17 +0100
./lib/wpscan/wp_options.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/wp_plugin.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/wp_target.rb Sat, 10 Nov 2012 09:50:17 +0100
./lib/wpscan/wp_target.rb Thu, 06 Dec 2012 21:07:19 +0100
./lib/wpscan/wp_theme.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/wp_user.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/wp_user.rb Thu, 06 Dec 2012 21:07:19 +0100
./lib/wpscan/wp_version.rb Sat, 10 Nov 2012 09:50:17 +0100
./lib/wpscan/wp_vulnerability.rb Tue, 25 Sep 2012 20:37:12 +0200
./lib/wpscan/wpscan_helper.rb Mon, 26 Nov 2012 22:13:34 +0100
./lib/wpscan/wpscan_options.rb Mon, 26 Nov 2012 22:34:40 +0100
./lib/wpstools/generate_list.rb Sun, 25 Nov 2012 18:41:55 +0100
./lib/wpscan/wpscan_helper.rb Thu, 06 Dec 2012 19:53:03 +0100
./lib/wpscan/wpscan_options.rb Thu, 06 Dec 2012 19:53:03 +0100
./lib/wpstools/generate_list.rb Wed, 28 Nov 2012 20:07:48 +0100
./lib/wpstools/parse_svn.rb Sat, 10 Nov 2012 09:50:17 +0100
./lib/wpstools/wpstools_helper.rb Sun, 25 Nov 2012 18:41:55 +0100
./README Fri, 23 Nov 2012 18:46:41 +0100
./wpscan.rb Mon, 26 Nov 2012 22:16:04 +0100
./wpstools.rb Sun, 25 Nov 2012 18:41:55 +0100
./lib/wpstools/wpstools_helper.rb Fri, 07 Dec 2012 20:17:22 +0100
./README Thu, 06 Dec 2012 19:53:03 +0100
./wpscan.rb Thu, 06 Dec 2012 19:53:03 +0100
./wpstools.rb Fri, 07 Dec 2012 20:17:22 +0100

BIN
doc/images/add.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

BIN
doc/images/delete.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

BIN
doc/images/tag_blue.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
doc/images/transparent.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

142
doc/js/navigation.js Normal file
View File

@@ -0,0 +1,142 @@
/*
* Navigation allows movement using the arrow keys through the search results.
*
* When using this library you will need to set scrollIntoView to the
* appropriate function for your layout. Use scrollInWindow if the container
* is not scrollable and scrollInElement if the container is a separate
* scrolling region.
*/
Navigation = new function() {
this.initNavigation = function() {
var _this = this;
$(document).keydown(function(e) {
_this.onkeydown(e);
}).keyup(function(e) {
_this.onkeyup(e);
});
this.navigationActive = true;
}
this.setNavigationActive = function(state) {
this.navigationActive = state;
this.clearMoveTimeout();
}
this.onkeyup = function(e) {
if (!this.navigationActive) return;
switch(e.keyCode) {
case 37: //Event.KEY_LEFT:
case 38: //Event.KEY_UP:
case 39: //Event.KEY_RIGHT:
case 40: //Event.KEY_DOWN:
this.clearMoveTimeout();
break;
}
}
this.onkeydown = function(e) {
if (!this.navigationActive) return;
switch(e.keyCode) {
case 37: //Event.KEY_LEFT:
if (this.moveLeft()) e.preventDefault();
break;
case 38: //Event.KEY_UP:
if (e.keyCode == 38 || e.ctrlKey) {
if (this.moveUp()) e.preventDefault();
this.startMoveTimeout(false);
}
break;
case 39: //Event.KEY_RIGHT:
if (this.moveRight()) e.preventDefault();
break;
case 40: //Event.KEY_DOWN:
if (e.keyCode == 40 || e.ctrlKey) {
if (this.moveDown()) e.preventDefault();
this.startMoveTimeout(true);
}
break;
case 13: //Event.KEY_RETURN:
if (this.$current)
e.preventDefault();
this.select(this.$current);
break;
}
if (e.ctrlKey && e.shiftKey) this.select(this.$current);
}
this.clearMoveTimeout = function() {
clearTimeout(this.moveTimeout);
this.moveTimeout = null;
}
this.startMoveTimeout = function(isDown) {
if (!$.browser.mozilla && !$.browser.opera) return;
if (this.moveTimeout) this.clearMoveTimeout();
var _this = this;
var go = function() {
if (!_this.moveTimeout) return;
_this[isDown ? 'moveDown' : 'moveUp']();
_this.moveTimout = setTimeout(go, 100);
}
this.moveTimeout = setTimeout(go, 200);
}
this.moveRight = function() {
}
this.moveLeft = function() {
}
this.move = function(isDown) {
}
this.moveUp = function() {
return this.move(false);
}
this.moveDown = function() {
return this.move(true);
}
/*
* Scrolls to the given element in the scrollable element view.
*/
this.scrollInElement = function(element, view) {
var offset, viewHeight, viewScroll, height;
offset = element.offsetTop;
height = element.offsetHeight;
viewHeight = view.offsetHeight;
viewScroll = view.scrollTop;
if (offset - viewScroll + height > viewHeight) {
view.scrollTop = offset - viewHeight + height;
}
if (offset < viewScroll) {
view.scrollTop = offset;
}
}
/*
* Scrolls to the given element in the window. The second argument is
* ignored
*/
this.scrollInWindow = function(element, ignored) {
var offset, viewHeight, viewScroll, height;
offset = element.offsetTop;
height = element.offsetHeight;
viewHeight = window.innerHeight;
viewScroll = window.scrollY;
if (offset - viewScroll + height > viewHeight) {
window.scrollTo(window.scrollX, offset - viewHeight + height);
}
if (offset < viewScroll) {
window.scrollTo(window.scrollX, offset);
}
}
}

94
doc/js/search.js Normal file
View File

@@ -0,0 +1,94 @@
Search = function(data, input, result) {
this.data = data;
this.$input = $(input);
this.$result = $(result);
this.$current = null;
this.$view = this.$result.parent();
this.searcher = new Searcher(data.index);
this.init();
}
Search.prototype = $.extend({}, Navigation, new function() {
var suid = 1;
this.init = function() {
var _this = this;
var observer = function() {
_this.search(_this.$input[0].value);
};
this.$input.keyup(observer);
this.$input.click(observer); // mac's clear field
this.searcher.ready(function(results, isLast) {
_this.addResults(results, isLast);
})
this.initNavigation();
this.setNavigationActive(false);
}
this.search = function(value, selectFirstMatch) {
value = jQuery.trim(value).toLowerCase();
if (value) {
this.setNavigationActive(true);
} else {
this.setNavigationActive(false);
}
if (value == '') {
this.lastQuery = value;
this.$result.empty();
this.setNavigationActive(false);
} else if (value != this.lastQuery) {
this.lastQuery = value;
this.firstRun = true;
this.searcher.find(value);
}
}
this.addResults = function(results, isLast) {
var target = this.$result.get(0);
if (this.firstRun && (results.length > 0 || isLast)) {
this.$current = null;
this.$result.empty();
}
for (var i=0, l = results.length; i < l; i++) {
target.appendChild(this.renderItem.call(this, results[i]));
};
if (this.firstRun && results.length > 0) {
this.firstRun = false;
this.$current = $(target.firstChild);
this.$current.addClass('current');
}
if (jQuery.browser.msie) this.$element[0].className += '';
}
this.move = function(isDown) {
if (!this.$current) return;
var $next = this.$current[isDown ? 'next' : 'prev']();
if ($next.length) {
this.$current.removeClass('current');
$next.addClass('current');
this.scrollIntoView($next[0], this.$view[0]);
this.$current = $next;
}
return true;
}
this.hlt = function(html) {
return this.escapeHTML(html).
replace(/\u0001/g, '<em>').
replace(/\u0002/g, '</em>');
}
this.escapeHTML = function(html) {
return html.replace(/[&<>]/g, function(c) {
return '&#' + c.charCodeAt(0) + ';';
});
}
});

1
doc/js/search_index.js Normal file

File diff suppressed because one or more lines are too long

228
doc/js/searcher.js Normal file
View File

@@ -0,0 +1,228 @@
Searcher = function(data) {
this.data = data;
this.handlers = [];
}
Searcher.prototype = new function() {
// search is performed in chunks of 1000 for non-blocking user input
var CHUNK_SIZE = 1000;
// do not try to find more than 100 results
var MAX_RESULTS = 100;
var huid = 1;
var suid = 1;
var runs = 0;
this.find = function(query) {
var queries = splitQuery(query);
var regexps = buildRegexps(queries);
var highlighters = buildHilighters(queries);
var state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++};
var _this = this;
this.currentSuid = state.n;
if (!query) return;
var run = function() {
// stop current search thread if new search started
if (state.n != _this.currentSuid) return;
var results =
performSearch(_this.data, regexps, queries, highlighters, state);
var hasMore = (state.limit > 0 && state.pass < 4);
triggerResults.call(_this, results, !hasMore);
if (hasMore) {
setTimeout(run, 2);
}
runs++;
};
runs = 0;
// start search thread
run();
}
/* ----- Events ------ */
this.ready = function(fn) {
fn.huid = huid;
this.handlers.push(fn);
}
/* ----- Utilities ------ */
function splitQuery(query) {
return jQuery.grep(query.split(/(\s+|::?|\(\)?)/), function(string) {
return string.match(/\S/)
});
}
function buildRegexps(queries) {
return jQuery.map(queries, function(query) {
return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i')
});
}
function buildHilighters(queries) {
return jQuery.map(queries, function(query) {
return jQuery.map(query.split(''), function(l, i) {
return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2);
}).join('');
});
}
// function longMatchRegexp(index, longIndex, regexps) {
// for (var i = regexps.length - 1; i >= 0; i--){
// if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false;
// };
// return true;
// }
/* ----- Mathchers ------ */
/*
* This record matches if the index starts with queries[0] and the record
* matches all of the regexps
*/
function matchPassBeginning(index, longIndex, queries, regexps) {
if (index.indexOf(queries[0]) != 0) return false;
for (var i=1, l = regexps.length; i < l; i++) {
if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
return false;
};
return true;
}
/*
* This record matches if the longIndex starts with queries[0] and the
* longIndex matches all of the regexps
*/
function matchPassLongIndex(index, longIndex, queries, regexps) {
if (longIndex.indexOf(queries[0]) != 0) return false;
for (var i=1, l = regexps.length; i < l; i++) {
if (!longIndex.match(regexps[i]))
return false;
};
return true;
}
/*
* This record matches if the index contains queries[0] and the record
* matches all of the regexps
*/
function matchPassContains(index, longIndex, queries, regexps) {
if (index.indexOf(queries[0]) == -1) return false;
for (var i=1, l = regexps.length; i < l; i++) {
if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
return false;
};
return true;
}
/*
* This record matches if regexps[0] matches the index and the record
* matches all of the regexps
*/
function matchPassRegexp(index, longIndex, queries, regexps) {
if (!index.match(regexps[0])) return false;
for (var i=1, l = regexps.length; i < l; i++) {
if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
return false;
};
return true;
}
/* ----- Highlighters ------ */
function highlightRegexp(info, queries, regexps, highlighters) {
var result = createResult(info);
for (var i=0, l = regexps.length; i < l; i++) {
result.title = result.title.replace(regexps[i], highlighters[i]);
result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
};
return result;
}
function hltSubstring(string, pos, length) {
return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length);
}
function highlightQuery(info, queries, regexps, highlighters) {
var result = createResult(info);
var pos = 0;
var lcTitle = result.title.toLowerCase();
pos = lcTitle.indexOf(queries[0]);
if (pos != -1) {
result.title = hltSubstring(result.title, pos, queries[0].length);
}
result.namespace = result.namespace.replace(regexps[0], highlighters[0]);
for (var i=1, l = regexps.length; i < l; i++) {
result.title = result.title.replace(regexps[i], highlighters[i]);
result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
};
return result;
}
function createResult(info) {
var result = {};
result.title = info[0];
result.namespace = info[1];
result.path = info[2];
result.params = info[3];
result.snippet = info[4];
return result;
}
/* ----- Searching ------ */
function performSearch(data, regexps, queries, highlighters, state) {
var searchIndex = data.searchIndex;
var longSearchIndex = data.longSearchIndex;
var info = data.info;
var result = [];
var i = state.from;
var l = searchIndex.length;
var togo = CHUNK_SIZE;
var matchFunc, hltFunc;
while (state.pass < 4 && state.limit > 0 && togo > 0) {
if (state.pass == 0) {
matchFunc = matchPassBeginning;
hltFunc = highlightQuery;
} else if (state.pass == 1) {
matchFunc = matchPassLongIndex;
hltFunc = highlightQuery;
} else if (state.pass == 2) {
matchFunc = matchPassContains;
hltFunc = highlightQuery;
} else if (state.pass == 3) {
matchFunc = matchPassRegexp;
hltFunc = highlightRegexp;
}
for (; togo > 0 && i < l && state.limit > 0; i++, togo--) {
if (info[i].n == state.n) continue;
if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) {
info[i].n = state.n;
result.push(hltFunc(info[i], queries, regexps, highlighters));
state.limit--;
}
};
if (searchIndex.length <= i) {
state.pass++;
i = state.from = 0;
} else {
state.from = i;
}
}
return result;
}
function triggerResults(results, isLast) {
jQuery.each(this.handlers, function(i, fn) {
fn.call(this, results, isLast)
})
}
}

608
doc/table_of_contents.html Normal file
View File

@@ -0,0 +1,608 @@
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>Table of Contents - RDoc Documentation</title>
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
<script type="text/javascript">
var rdoc_rel_prefix = "./";
</script>
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
<body class="indexpage">
<h1>Table of Contents - RDoc Documentation</h1>
<h2>Pages</h2>
<ul>
<li class="file">
<a href="CREDITS.html">CREDITS</a>
</li>
<li class="file">
<a href="Gemfile.html">Gemfile</a>
</li>
<li class="file">
<a href="README.html">README</a>
<img class="toc-toggle" src="images/transparent.png" alt="" title="toggle headings">
<ul class="initially-hidden">
<li><a href="README.html#label-LICENSE%3D%3D">LICENSE==</a>
<li><a href="README.html#label-INSTALL%3D%3D">INSTALL==</a>
<li><a href="README.html#label-KNOWN+ISSUES%3D%3D">KNOWN ISSUES==</a>
<li><a href="README.html#label-WPSCAN+ARGUMENTS%3D%3D">WPSCAN ARGUMENTS==</a>
<li><a href="README.html#label-WPSCAN+EXAMPLES%3D%3D">WPSCAN EXAMPLES==</a>
<li><a href="README.html#label-WPSTOOLS+ARGUMENTS%3D%3D">WPSTOOLS ARGUMENTS==</a>
<li><a href="README.html#label-WPSTOOLS+EXAMPLES%3D%3D">WPSTOOLS EXAMPLES==</a>
<li><a href="README.html#label-PROJECT+HOME%3D%3D%3D">PROJECT HOME===</a>
<li><a href="README.html#label-REPOSITORY%3D%3D%3D">REPOSITORY===</a>
<li><a href="README.html#label-ISSUES%3D%3D%3D">ISSUES===</a>
<li><a href="README.html#label-SPONSOR%3D%3D%3D">SPONSOR===</a>
</ul>
</li>
</ul>
<h2 id="classes">Classes/Modules</h2>
<ul>
<li class="class">
<a href="Array.html">Array</a>
</li>
<li class="class">
<a href="Browser.html">Browser</a>
</li>
<li class="module">
<a href="BruteForce.html">BruteForce</a>
</li>
<li class="class">
<a href="CacheFileStore.html">CacheFileStore</a>
</li>
<li class="class">
<a href="Exploit.html">Exploit</a>
</li>
<li class="class">
<a href="Generate_List.html">Generate_List</a>
</li>
<li class="class">
<a href="GitUpdater.html">GitUpdater</a>
</li>
<li class="module">
<a href="Malwares.html">Malwares</a>
</li>
<li class="class">
<a href="Object.html">Object</a>
</li>
<li class="class">
<a href="RpcClient.html">RpcClient</a>
</li>
<li class="class">
<a href="SvnUpdater.html">SvnUpdater</a>
</li>
<li class="class">
<a href="Svn_Parser.html">Svn_Parser</a>
</li>
<li class="module">
<a href="URI.html">URI</a>
</li>
<li class="class">
<a href="Updater.html">Updater</a>
</li>
<li class="class">
<a href="UpdaterFactory.html">UpdaterFactory</a>
</li>
<li class="class">
<a href="Vulnerable.html">Vulnerable</a>
</li>
<li class="module">
<a href="WebSite.html">WebSite</a>
</li>
<li class="module">
<a href="WpConfigBackup.html">WpConfigBackup</a>
</li>
<li class="class">
<a href="WpDetector.html">WpDetector</a>
</li>
<li class="class">
<a href="WpEnumerator.html">WpEnumerator</a>
</li>
<li class="module">
<a href="WpFullPathDisclosure.html">WpFullPathDisclosure</a>
</li>
<li class="class">
<a href="WpItem.html">WpItem</a>
</li>
<li class="module">
<a href="WpLoginProtection.html">WpLoginProtection</a>
</li>
<li class="class">
<a href="WpOptions.html">WpOptions</a>
<img class="toc-toggle" src="images/transparent.png" alt="" title="toggle headings">
<ul class="initially-hidden">
<li><a href="WpOptions.html#label-Options">Options</a>
</ul>
</li>
<li class="class">
<a href="WpPlugin.html">WpPlugin</a>
</li>
<li class="module">
<a href="WpPlugins.html">WpPlugins</a>
</li>
<li class="module">
<a href="WpReadme.html">WpReadme</a>
</li>
<li class="class">
<a href="WpTarget.html">WpTarget</a>
</li>
<li class="class">
<a href="WpTheme.html">WpTheme</a>
</li>
<li class="module">
<a href="WpThemes.html">WpThemes</a>
</li>
<li class="module">
<a href="WpTimthumbs.html">WpTimthumbs</a>
</li>
<li class="class">
<a href="WpUser.html">WpUser</a>
</li>
<li class="module">
<a href="WpUsernames.html">WpUsernames</a>
</li>
<li class="class">
<a href="WpVersion.html">WpVersion</a>
</li>
<li class="class">
<a href="WpVulnerability.html">WpVulnerability</a>
</li>
<li class="class">
<a href="WpscanOptions.html">WpscanOptions</a>
</li>
</ul>
<h2 id="methods">Methods</h2>
<ul>
<li class="method"><a href="WpDetector.html#method-c-aggressive_detection">::aggressive_detection &mdash; WpDetector</a>
<li class="method"><a href="UpdaterFactory.html#method-c-available_updaters_classes">::available_updaters_classes &mdash; UpdaterFactory</a>
<li class="method"><a href="WpOptions.html#method-c-check_options">::check_options &mdash; WpOptions</a>
<li class="method"><a href="WpscanOptions.html#method-c-clean_option">::clean_option &mdash; WpscanOptions</a>
<li class="method"><a href="WpConfigBackup.html#method-c-config_backup_files">::config_backup_files &mdash; WpConfigBackup</a>
<li class="method"><a href="WpEnumerator.html#method-c-enumerate">::enumerate &mdash; WpEnumerator</a>
<li class="method"><a href="URI.html#method-c-escape">::escape &mdash; URI</a>
<li class="method"><a href="WpTheme.html#method-c-find">::find &mdash; WpTheme</a>
<li class="method"><a href="WpVersion.html#method-c-find">::find &mdash; WpVersion</a>
<li class="method"><a href="WpVersion.html#method-c-find_from_advanced_fingerprinting">::find_from_advanced_fingerprinting &mdash; WpVersion</a>
<li class="method"><a href="WpVersion.html#method-c-find_from_atom_generator">::find_from_atom_generator &mdash; WpVersion</a>
<li class="method"><a href="WpTheme.html#method-c-find_from_css_link">::find_from_css_link &mdash; WpTheme</a>
<li class="method"><a href="WpVersion.html#method-c-find_from_links_opml">::find_from_links_opml &mdash; WpVersion</a>
<li class="method"><a href="WpVersion.html#method-c-find_from_meta_generator">::find_from_meta_generator &mdash; WpVersion</a>
<li class="method"><a href="WpVersion.html#method-c-find_from_rdf_generator">::find_from_rdf_generator &mdash; WpVersion</a>
<li class="method"><a href="WpVersion.html#method-c-find_from_readme">::find_from_readme &mdash; WpVersion</a>
<li class="method"><a href="WpVersion.html#method-c-find_from_rss_generator">::find_from_rss_generator &mdash; WpVersion</a>
<li class="method"><a href="WpVersion.html#method-c-find_from_sitemap_generator">::find_from_sitemap_generator &mdash; WpVersion</a>
<li class="method"><a href="WpTheme.html#method-c-find_from_wooframework">::find_from_wooframework &mdash; WpTheme</a>
<li class="method"><a href="WpEnumerator.html#method-c-generate_items">::generate_items &mdash; WpEnumerator</a>
<li class="method"><a href="WpscanOptions.html#method-c-get_opt_long">::get_opt_long &mdash; WpscanOptions</a>
<li class="method"><a href="UpdaterFactory.html#method-c-get_updater">::get_updater &mdash; UpdaterFactory</a>
<li class="method"><a href="Browser.html#method-c-instance">::instance &mdash; Browser</a>
<li class="method"><a href="WpscanOptions.html#method-c-is_long_option-3F">::is_long_option? &mdash; WpscanOptions</a>
<li class="method"><a href="BruteForce.html#method-c-lines_in_file">::lines_in_file &mdash; BruteForce</a>
<li class="method"><a href="WpscanOptions.html#method-c-load_from_arguments">::load_from_arguments &mdash; WpscanOptions</a>
<li class="method"><a href="Malwares.html#method-c-malware_pattern">::malware_pattern &mdash; Malwares</a>
<li class="method"><a href="Malwares.html#method-c-malwares_file">::malwares_file &mdash; Malwares</a>
<li class="method"><a href="WpTarget.html#method-c-new">::new &mdash; WpTarget</a>
<li class="method"><a href="WpscanOptions.html#method-c-new">::new &mdash; WpscanOptions</a>
<li class="method"><a href="WpVersion.html#method-c-new">::new &mdash; WpVersion</a>
<li class="method"><a href="WpPlugin.html#method-c-new">::new &mdash; WpPlugin</a>
<li class="method"><a href="WpItem.html#method-c-new">::new &mdash; WpItem</a>
<li class="method"><a href="WpUser.html#method-c-new">::new &mdash; WpUser</a>
<li class="method"><a href="CacheFileStore.html#method-c-new">::new &mdash; CacheFileStore</a>
<li class="method"><a href="WpVulnerability.html#method-c-new">::new &mdash; WpVulnerability</a>
<li class="method"><a href="Updater.html#method-c-new">::new &mdash; Updater</a>
<li class="method"><a href="Exploit.html#method-c-new">::new &mdash; Exploit</a>
<li class="method"><a href="Generate_List.html#method-c-new">::new &mdash; Generate_List</a>
<li class="method"><a href="WpTheme.html#method-c-new">::new &mdash; WpTheme</a>
<li class="method"><a href="Svn_Parser.html#method-c-new">::new &mdash; Svn_Parser</a>
<li class="method"><a href="RpcClient.html#method-c-new">::new &mdash; RpcClient</a>
<li class="method"><a href="WpscanOptions.html#method-c-option_to_instance_variable_setter">::option_to_instance_variable_setter &mdash; WpscanOptions</a>
<li class="method"><a href="WpDetector.html#method-c-passive_detection">::passive_detection &mdash; WpDetector</a>
<li class="method"><a href="Browser.html#method-c-reset">::reset &mdash; Browser</a>
<li class="method"><a href="WpTarget.html#method-c-valid_response_codes">::valid_response_codes &mdash; WpTarget</a>
<li class="method"><a href="WpVersion.html#method-c-version_pattern">::version_pattern &mdash; WpVersion</a>
<li class="method"><a href="WpUser.html#method-i-3C-3D-3E">#<=> &mdash; WpUser</a>
<li class="method"><a href="WpItem.html#method-i-3C-3D-3E">#<=> &mdash; WpItem</a>
<li class="method"><a href="WpItem.html#method-i-3D-3D">#== &mdash; WpItem</a>
<li class="method"><a href="WpTheme.html#method-i-3D-3D-3D">#=== &mdash; WpTheme</a>
<li class="method"><a href="WpUser.html#method-i-3D-3D-3D">#=== &mdash; WpUser</a>
<li class="method"><a href="WpItem.html#method-i-3D-3D-3D">#=== &mdash; WpItem</a>
<li class="method"><a href="Array.html#method-i-_grep_">#_grep_ &mdash; Array</a>
<li class="method"><a href="Object.html#method-i-add_http_protocol">#add_http_protocol &mdash; Object</a>
<li class="method"><a href="Object.html#method-i-add_trailing_slash">#add_trailing_slash &mdash; Object</a>
<li class="method"><a href="RpcClient.html#method-i-authenticate">#authenticate &mdash; RpcClient</a>
<li class="method"><a href="WpUsernames.html#method-i-author_url">#author_url &mdash; WpUsernames</a>
<li class="method"><a href="Object.html#method-i-banner">#banner &mdash; Object</a>
<li class="method"><a href="WpLoginProtection.html#method-i-better_wp_security_url">#better_wp_security_url &mdash; WpLoginProtection</a>
<li class="method"><a href="WpLoginProtection.html#method-i-bluetrait_event_viewer_url">#bluetrait_event_viewer_url &mdash; WpLoginProtection</a>
<li class="method"><a href="BruteForce.html#method-i-brute_force">#brute_force &mdash; BruteForce</a>
<li class="method"><a href="WpItem.html#method-i-changelog_url">#changelog_url &mdash; WpItem</a>
<li class="method"><a href="Exploit.html#method-i-choose_session">#choose_session &mdash; Exploit</a>
<li class="method"><a href="CacheFileStore.html#method-i-clean">#clean &mdash; CacheFileStore</a>
<li class="method"><a href="Object.html#method-i-colorize">#colorize &mdash; Object</a>
<li class="method"><a href="WpConfigBackup.html#method-i-config_backup">#config_backup &mdash; WpConfigBackup</a>
<li class="method"><a href="WpTarget.html#method-i-debug_log_url">#debug_log_url &mdash; WpTarget</a>
<li class="method"><a href="WpItem.html#method-i-directory_listing-3F">#directory_listing? &mdash; WpItem</a>
<li class="method"><a href="WpscanOptions.html#method-i-enumerate_all_plugins-3D">#enumerate_all_plugins= &mdash; WpscanOptions</a>
<li class="method"><a href="WpscanOptions.html#method-i-enumerate_all_themes-3D">#enumerate_all_themes= &mdash; WpscanOptions</a>
<li class="method"><a href="WpscanOptions.html#method-i-enumerate_only_vulnerable_plugins-3D">#enumerate_only_vulnerable_plugins= &mdash; WpscanOptions</a>
<li class="method"><a href="WpscanOptions.html#method-i-enumerate_only_vulnerable_themes-3D">#enumerate_only_vulnerable_themes= &mdash; WpscanOptions</a>
<li class="method"><a href="WpscanOptions.html#method-i-enumerate_options_from_string">#enumerate_options_from_string &mdash; WpscanOptions</a>
<li class="method"><a href="WpscanOptions.html#method-i-enumerate_plugins-3D">#enumerate_plugins= &mdash; WpscanOptions</a>
<li class="method"><a href="WpscanOptions.html#method-i-enumerate_themes-3D">#enumerate_themes= &mdash; WpscanOptions</a>
<li class="method"><a href="WpUser.html#method-i-eql-3F">#eql? &mdash; WpUser</a>
<li class="method"><a href="WpTarget.html#method-i-error_404_hash">#error_404_hash &mdash; WpTarget</a>
<li class="method"><a href="WpPlugin.html#method-i-error_log-3F">#error_log? &mdash; WpPlugin</a>
<li class="method"><a href="WpPlugin.html#method-i-error_log_url">#error_log_url &mdash; WpPlugin</a>
<li class="method"><a href="RpcClient.html#method-i-exploit">#exploit &mdash; RpcClient</a>
<li class="method"><a href="Exploit.html#method-i-exploit">#exploit &mdash; Exploit</a>
<li class="method"><a href="Exploit.html#method-i-exploit_info">#exploit_info &mdash; Exploit</a>
<li class="method"><a href="WpItem.html#method-i-extract_name_from_url">#extract_name_from_url &mdash; WpItem</a>
<li class="method"><a href="WpUsernames.html#method-i-extract_nickname_from_body">#extract_nickname_from_body &mdash; WpUsernames</a>
<li class="method"><a href="Browser.html#method-i-forge_request">#forge_request &mdash; Browser</a>
<li class="method"><a href="WpFullPathDisclosure.html#method-i-full_path_disclosure_url">#full_path_disclosure_url &mdash; WpFullPathDisclosure</a>
<li class="method"><a href="Generate_List.html#method-i-generate_full_list">#generate_full_list &mdash; Generate_List</a>
<li class="method"><a href="Generate_List.html#method-i-generate_popular_list">#generate_popular_list &mdash; Generate_List</a>
<li class="method"><a href="Browser.html#method-i-get">#get &mdash; Browser</a>
<li class="method"><a href="CacheFileStore.html#method-i-get_entry_file_path">#get_entry_file_path &mdash; CacheFileStore</a>
<li class="method"><a href="Object.html#method-i-get_equal_string_end">#get_equal_string_end &mdash; Object</a>
<li class="method"><a href="RpcClient.html#method-i-get_exploit_info">#get_exploit_info &mdash; RpcClient</a>
<li class="method"><a href="WpItem.html#method-i-get_full_url">#get_full_url &mdash; WpItem</a>
<li class="method"><a href="WpUsernames.html#method-i-get_nickname_from_response">#get_nickname_from_response &mdash; WpUsernames</a>
<li class="method"><a href="WpUsernames.html#method-i-get_nickname_from_url">#get_nickname_from_url &mdash; WpUsernames</a>
<li class="method"><a href="RpcClient.html#method-i-get_options">#get_options &mdash; RpcClient</a>
<li class="method"><a href="RpcClient.html#method-i-get_payloads">#get_payloads &mdash; RpcClient</a>
<li class="method"><a href="Generate_List.html#method-i-get_popular_items">#get_popular_items &mdash; Generate_List</a>
<li class="method"><a href="WpItem.html#method-i-get_sub_folder">#get_sub_folder &mdash; WpItem</a>
<li class="method"><a href="WpItem.html#method-i-get_url_without_filename">#get_url_without_filename &mdash; WpItem</a>
<li class="method"><a href="Object.html#method-i-green">#green &mdash; Object</a>
<li class="method"><a href="Array.html#method-i-grep">#grep &mdash; Array</a>
<li class="method"><a href="WpLoginProtection.html#method-i-has_better_wp_security_protection-3F">#has_better_wp_security_protection? &mdash; WpLoginProtection</a>
<li class="method"><a href="WpLoginProtection.html#method-i-has_bluetrait_event_viewer_protection-3F">#has_bluetrait_event_viewer_protection? &mdash; WpLoginProtection</a>
<li class="method"><a href="WpItem.html#method-i-has_changelog-3F">#has_changelog? &mdash; WpItem</a>
<li class="method"><a href="WpTarget.html#method-i-has_debug_log-3F">#has_debug_log? &mdash; WpTarget</a>
<li class="method"><a href="WpFullPathDisclosure.html#method-i-has_full_path_disclosure-3F">#has_full_path_disclosure? &mdash; WpFullPathDisclosure</a>
<li class="method"><a href="WpLoginProtection.html#method-i-has_limit_login_attempts_protection-3F">#has_limit_login_attempts_protection? &mdash; WpLoginProtection</a>
<li class="method"><a href="WpLoginProtection.html#method-i-has_login_lock_protection-3F">#has_login_lock_protection? &mdash; WpLoginProtection</a>
<li class="method"><a href="WpLoginProtection.html#method-i-has_login_lockdown_protection-3F">#has_login_lockdown_protection? &mdash; WpLoginProtection</a>
<li class="method"><a href="WpLoginProtection.html#method-i-has_login_protection-3F">#has_login_protection? &mdash; WpLoginProtection</a>
<li class="method"><a href="WpLoginProtection.html#method-i-has_login_security_solution_protection-3F">#has_login_security_solution_protection? &mdash; WpLoginProtection</a>
<li class="method"><a href="Malwares.html#method-i-has_malwares-3F">#has_malwares? &mdash; Malwares</a>
<li class="method"><a href="WpscanOptions.html#method-i-has_options-3F">#has_options? &mdash; WpscanOptions</a>
<li class="method"><a href="WpReadme.html#method-i-has_readme-3F">#has_readme? &mdash; WpReadme</a>
<li class="method"><a href="WpItem.html#method-i-has_readme-3F">#has_readme? &mdash; WpItem</a>
<li class="method"><a href="WpLoginProtection.html#method-i-has_simple_login_lockdown_protection-3F">#has_simple_login_lockdown_protection? &mdash; WpLoginProtection</a>
<li class="method"><a href="WpTimthumbs.html#method-i-has_timthumbs-3F">#has_timthumbs? &mdash; WpTimthumbs</a>
<li class="method"><a href="Object.html#method-i-help">#help &mdash; Object</a>
<li class="method"><a href="WpUser.html#method-i-id">#id &mdash; WpUser</a>
<li class="method"><a href="WpUser.html#method-i-id-3D">#id= &mdash; WpUser</a>
<li class="method"><a href="Updater.html#method-i-is_installed-3F">#is_installed? &mdash; Updater</a>
<li class="method"><a href="SvnUpdater.html#method-i-is_installed-3F">#is_installed? &mdash; SvnUpdater</a>
<li class="method"><a href="GitUpdater.html#method-i-is_installed-3F">#is_installed? &mdash; GitUpdater</a>
<li class="method"><a href="WpTarget.html#method-i-is_multisite-3F">#is_multisite? &mdash; WpTarget</a>
<li class="method"><a href="WebSite.html#method-i-is_online-3F">#is_online? &mdash; WebSite</a>
<li class="method"><a href="WebSite.html#method-i-is_wordpress-3F">#is_wordpress? &mdash; WebSite</a>
<li class="method"><a href="Exploit.html#method-i-job_id">#job_id &mdash; Exploit</a>
<li class="method"><a href="RpcClient.html#method-i-jobs">#jobs &mdash; RpcClient</a>
<li class="method"><a href="Exploit.html#method-i-kill_session">#kill_session &mdash; Exploit</a>
<li class="method"><a href="RpcClient.html#method-i-kill_session">#kill_session &mdash; RpcClient</a>
<li class="method"><a href="Exploit.html#method-i-last_session_id">#last_session_id &mdash; Exploit</a>
<li class="method"><a href="WpLoginProtection.html#method-i-limit_login_attempts_url">#limit_login_attempts_url &mdash; WpLoginProtection</a>
<li class="method"><a href="Browser.html#method-i-load_config">#load_config &mdash; Browser</a>
<li class="method"><a href="SvnUpdater.html#method-i-local_revision_number">#local_revision_number &mdash; SvnUpdater</a>
<li class="method"><a href="Updater.html#method-i-local_revision_number">#local_revision_number &mdash; Updater</a>
<li class="method"><a href="GitUpdater.html#method-i-local_revision_number">#local_revision_number &mdash; GitUpdater</a>
<li class="method"><a href="RpcClient.html#method-i-login">#login &mdash; RpcClient</a>
<li class="method"><a href="WpLoginProtection.html#method-i-login_protection_plugin">#login_protection_plugin &mdash; WpLoginProtection</a>
<li class="method"><a href="WpLoginProtection.html#method-i-login_security_solution_url">#login_security_solution_url &mdash; WpLoginProtection</a>
<li class="method"><a href="WpTarget.html#method-i-login_url">#login_url &mdash; WpTarget</a>
<li class="method"><a href="Malwares.html#method-i-malwares">#malwares &mdash; Malwares</a>
<li class="method"><a href="Browser.html#method-i-max_threads-3D">#max_threads= &mdash; Browser</a>
<li class="method"><a href="Browser.html#method-i-merge_request_params">#merge_request_params &mdash; Browser</a>
<li class="method"><a href="Exploit.html#method-i-meterpreter_read">#meterpreter_read &mdash; Exploit</a>
<li class="method"><a href="RpcClient.html#method-i-meterpreter_read">#meterpreter_read &mdash; RpcClient</a>
<li class="method"><a href="Exploit.html#method-i-meterpreter_write">#meterpreter_write &mdash; Exploit</a>
<li class="method"><a href="RpcClient.html#method-i-meterpreter_write">#meterpreter_write &mdash; RpcClient</a>
<li class="method"><a href="WpUser.html#method-i-name">#name &mdash; WpUser</a>
<li class="method"><a href="WpUser.html#method-i-name-3D">#name= &mdash; WpUser</a>
<li class="method"><a href="WpUser.html#method-i-nickname">#nickname &mdash; WpUser</a>
<li class="method"><a href="WpUser.html#method-i-nickname-3D">#nickname= &mdash; WpUser</a>
<li class="method"><a href="Svn_Parser.html#method-i-parse">#parse &mdash; Svn_Parser</a>
<li class="method"><a href="WpPlugins.html#method-i-plugins_from_aggressive_detection">#plugins_from_aggressive_detection &mdash; WpPlugins</a>
<li class="method"><a href="WpPlugins.html#method-i-plugins_from_passive_detection">#plugins_from_passive_detection &mdash; WpPlugins</a>
<li class="method"><a href="Browser.html#method-i-post">#post &mdash; Browser</a>
<li class="method"><a href="WpscanOptions.html#method-i-proxy-3D">#proxy= &mdash; WpscanOptions</a>
<li class="method"><a href="WpscanOptions.html#method-i-proxy_auth-3D">#proxy_auth= &mdash; WpscanOptions</a>
<li class="method"><a href="Browser.html#method-i-proxy_auth-3D">#proxy_auth= &mdash; Browser</a>
<li class="method"><a href="Browser.html#method-i-raise_invalid_proxy_format">#raise_invalid_proxy_format &mdash; Browser</a>
<li class="method"><a href="Updater.html#method-i-raise_must_be_implemented">#raise_must_be_implemented &mdash; Updater</a>
<li class="method"><a href="CacheFileStore.html#method-i-read_entry">#read_entry &mdash; CacheFileStore</a>
<li class="method"><a href="RpcClient.html#method-i-read_shell">#read_shell &mdash; RpcClient</a>
<li class="method"><a href="Exploit.html#method-i-read_shell">#read_shell &mdash; Exploit</a>
<li class="method"><a href="WpItem.html#method-i-readme_url">#readme_url &mdash; WpItem</a>
<li class="method"><a href="WpReadme.html#method-i-readme_url">#readme_url &mdash; WpReadme</a>
<li class="method"><a href="Object.html#method-i-red">#red &mdash; Object</a>
<li class="method"><a href="WebSite.html#method-i-redirection">#redirection &mdash; WebSite</a>
<li class="method"><a href="WpTarget.html#method-i-registration_enabled-3F">#registration_enabled? &mdash; WpTarget</a>
<li class="method"><a href="WpTarget.html#method-i-registration_url">#registration_url &mdash; WpTarget</a>
<li class="method"><a href="WpUsernames.html#method-i-remove_junk_from_nickname">#remove_junk_from_nickname &mdash; WpUsernames</a>
<li class="method"><a href="GitUpdater.html#method-i-repo_directory_arguments">#repo_directory_arguments &mdash; GitUpdater</a>
<li class="method"><a href="Object.html#method-i-require_files_from_directory">#require_files_from_directory &mdash; Object</a>
<li class="method"><a href="Generate_List.html#method-i-save">#save &mdash; Generate_List</a>
<li class="method"><a href="WpTarget.html#method-i-search_replace_db_2_exists-3F">#search_replace_db_2_exists? &mdash; WpTarget</a>
<li class="method"><a href="WpTarget.html#method-i-search_replace_db_2_url">#search_replace_db_2_url &mdash; WpTarget</a>
<li class="method"><a href="Exploit.html#method-i-session_count">#session_count &mdash; Exploit</a>
<li class="method"><a href="Exploit.html#method-i-sessions">#sessions &mdash; Exploit</a>
<li class="method"><a href="RpcClient.html#method-i-sessions">#sessions &mdash; RpcClient</a>
<li class="method"><a href="Generate_List.html#method-i-set_file_name">#set_file_name &mdash; Generate_List</a>
<li class="method"><a href="WpscanOptions.html#method-i-set_option_from_cli">#set_option_from_cli &mdash; WpscanOptions</a>
<li class="method"><a href="WpLoginProtection.html#method-i-simple_login_lockdown_url">#simple_login_lockdown_url &mdash; WpLoginProtection</a>
<li class="method"><a href="Exploit.html#method-i-start">#start &mdash; Exploit</a>
<li class="method"><a href="WpTimthumbs.html#method-i-targets_url_from_theme">#targets_url_from_theme &mdash; WpTimthumbs</a>
<li class="method"><a href="WpTarget.html#method-i-theme">#theme &mdash; WpTarget</a>
<li class="method"><a href="WpThemes.html#method-i-themes_from_aggressive_detection">#themes_from_aggressive_detection &mdash; WpThemes</a>
<li class="method"><a href="WpThemes.html#method-i-themes_from_passive_detection">#themes_from_passive_detection &mdash; WpThemes</a>
<li class="method"><a href="WpscanOptions.html#method-i-threads-3D">#threads= &mdash; WpscanOptions</a>
<li class="method"><a href="WpTimthumbs.html#method-i-timthumbs">#timthumbs &mdash; WpTimthumbs</a>
<li class="method"><a href="WpscanOptions.html#method-i-to_h">#to_h &mdash; WpscanOptions</a>
<li class="method"><a href="WpItem.html#method-i-to_s">#to_s &mdash; WpItem</a>
<li class="method"><a href="SvnUpdater.html#method-i-update">#update &mdash; SvnUpdater</a>
<li class="method"><a href="GitUpdater.html#method-i-update">#update &mdash; GitUpdater</a>
<li class="method"><a href="Updater.html#method-i-update">#update &mdash; Updater</a>
<li class="method"><a href="WpTarget.html#method-i-url">#url &mdash; WpTarget</a>
<li class="method"><a href="WpscanOptions.html#method-i-url-3D">#url= &mdash; WpscanOptions</a>
<li class="method"><a href="Object.html#method-i-usage">#usage &mdash; Object</a>
<li class="method"><a href="Browser.html#method-i-user_agent">#user_agent &mdash; Browser</a>
<li class="method"><a href="Browser.html#method-i-user_agent_mode-3D">#user_agent_mode= &mdash; Browser</a>
<li class="method"><a href="WpUsernames.html#method-i-usernames">#usernames &mdash; WpUsernames</a>
<li class="method"><a href="WpItem.html#method-i-version">#version &mdash; WpItem</a>
<li class="method"><a href="WpTarget.html#method-i-version">#version &mdash; WpTarget</a>
<li class="method"><a href="Vulnerable.html#method-i-vulnerabilities">#vulnerabilities &mdash; Vulnerable</a>
<li class="method"><a href="WpscanOptions.html#method-i-wordlist-3D">#wordlist= &mdash; WpscanOptions</a>
<li class="method"><a href="WpTarget.html#method-i-wp_content_dir">#wp_content_dir &mdash; WpTarget</a>
<li class="method"><a href="WpTarget.html#method-i-wp_plugins_dir">#wp_plugins_dir &mdash; WpTarget</a>
<li class="method"><a href="WpTarget.html#method-i-wp_plugins_dir_exists-3F">#wp_plugins_dir_exists? &mdash; WpTarget</a>
<li class="method"><a href="CacheFileStore.html#method-i-write_entry">#write_entry &mdash; CacheFileStore</a>
<li class="method"><a href="RpcClient.html#method-i-write_shell">#write_shell &mdash; RpcClient</a>
<li class="method"><a href="Exploit.html#method-i-write_shell">#write_shell &mdash; Exploit</a>
<li class="method"><a href="WebSite.html#method-i-xmlrpc_url">#xmlrpc_url &mdash; WebSite</a>
</ul>
<footer id="validator-badges">
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
</footer>