bugfixing
This commit is contained in:
@@ -237,8 +237,18 @@
|
||||
|
||||
<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>
|
||||
<span class="ruby-identifier">already_present</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-comment"># Already found via passive detection</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">enum_result</span>.<span class="ruby-identifier">name</span>
|
||||
<span class="ruby-identifier">already_present</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-keyword">break</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">already_present</span>
|
||||
<span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">enum_result</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">result</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- aggressive_detection-source -->
|
||||
@@ -274,7 +284,7 @@
|
||||
|
||||
<div class="method-source-code" id="passive_detection-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_detector.rb, line 40</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_detector.rb, line 50</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>)
|
||||
@@ -288,7 +298,7 @@
|
||||
<span class="ruby-identifier">names</span>.<span class="ruby-identifier">uniq!</span>
|
||||
|
||||
<span class="ruby-identifier">names</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">items</span> <span class="ruby-operator"><<</span> { <span class="ruby-value">:base_url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">url</span>, <span class="ruby-value">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">item</span>, <span class="ruby-value">:path</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{type}/#{item}"</span> }
|
||||
<span class="ruby-identifier">items</span> <span class="ruby-operator"><<</span> { <span class="ruby-value">:url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">url</span>, <span class="ruby-value">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">item</span>, <span class="ruby-value">:path</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{type}/#{item}"</span> }
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">items</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
|
||||
@@ -226,7 +226,7 @@
|
||||
<ul><li>
|
||||
<p><tt>targets</tt> - targets to enumerate</p>
|
||||
</li><li><ul><li>
|
||||
<p><tt>:base_url</tt> - Base URL</p>
|
||||
<p><tt>:url</tt> - Base URL</p>
|
||||
</li></ul>
|
||||
</li><li><ul><li>
|
||||
<p><tt>:wp_content</tt> - wp-content directory</p>
|
||||
|
||||
@@ -67,6 +67,8 @@
|
||||
|
||||
<li><a href="#method-i-get_url">#get_url</a></li>
|
||||
|
||||
<li><a href="#method-i-get_url_without_filename">#get_url_without_filename</a></li>
|
||||
|
||||
<li><a href="#method-i-location_uri_from_file_url">#location_uri_from_file_url</a></li>
|
||||
|
||||
<li><a href="#method-i-to_s">#to_s</a></li>
|
||||
@@ -209,13 +211,13 @@
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="base_url-attribute-method" class="method-detail">
|
||||
<a name="base_url"></a>
|
||||
<div id="path-attribute-method" class="method-detail">
|
||||
<a name="path"></a>
|
||||
|
||||
<a name="base_url="></a>
|
||||
<a name="path="></a>
|
||||
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">base_url</span><span
|
||||
<span class="method-name">path</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
@@ -226,13 +228,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="path-attribute-method" class="method-detail">
|
||||
<a name="path"></a>
|
||||
<div id="url-attribute-method" class="method-detail">
|
||||
<a name="url"></a>
|
||||
|
||||
<a name="path="></a>
|
||||
<a name="url="></a>
|
||||
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">path</span><span
|
||||
<span class="method-name">url</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
@@ -288,7 +290,7 @@
|
||||
|
||||
<div class="method-source-code" id="3C-3D-3E-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 54</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 59</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">end</span></pre>
|
||||
@@ -321,7 +323,7 @@
|
||||
|
||||
<div class="method-source-code" id="3D-3D-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 50</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 55</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">end</span></pre>
|
||||
@@ -354,7 +356,7 @@
|
||||
|
||||
<div class="method-source-code" id="directory_listing-3F-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 36</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 41</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">directory_listing?</span>
|
||||
<span class="ruby-comment"># Need to remove to file part from the url</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">location_uri_from_file_url</span>(<span class="ruby-identifier">get_url</span>.<span class="ruby-identifier">to_s</span>)).<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%{<title>Index of}</span>] <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
@@ -388,7 +390,7 @@
|
||||
|
||||
<div class="method-source-code" id="extract_name_from_url-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 41</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 46</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">extract_name_from_url</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-identifier">url</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-regexp">%{^(https?://.*/([^/]+)/)}</span>, <span class="ruby-value">2</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
@@ -423,7 +425,7 @@
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 23</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_url</span>
|
||||
<span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-node">"#{@base_url.to_s}#@wp_content_dir/#@path"</span>)
|
||||
<span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-node">"#{@url.to_s}#@wp_content_dir/#@path"</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_url-source -->
|
||||
|
||||
@@ -435,6 +437,40 @@
|
||||
</div><!-- get_url-method -->
|
||||
|
||||
|
||||
<div id="get_url_without_filename-method" class="method-detail ">
|
||||
<a name="method-i-get_url_without_filename"></a>
|
||||
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_url_without_filename</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="get_url_without_filename-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 27</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_url_without_filename</span>
|
||||
<span class="ruby-identifier">uri</span> = <span class="ruby-identifier">get_url</span>
|
||||
<span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-node">"#{uri.scheme}://#{uri.host}#{File.dirname(uri.path)}"</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_url_without_filename-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_url_without_filename-method -->
|
||||
|
||||
|
||||
<div id="location_uri_from_file_url-method" class="method-detail ">
|
||||
<a name="method-i-location_uri_from_file_url"></a>
|
||||
|
||||
@@ -454,7 +490,7 @@
|
||||
|
||||
<div class="method-source-code" id="location_uri_from_file_url-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 58</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 63</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">location_uri_from_file_url</span>(<span class="ruby-identifier">location_url</span>)
|
||||
<span class="ruby-identifier">valid_location_url</span> = <span class="ruby-identifier">location_url</span>[<span class="ruby-regexp">%{^(https?://.*/)[^.]+\.[^/]+$}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">valid_location_url</span>
|
||||
@@ -491,7 +527,7 @@
|
||||
|
||||
<div class="method-source-code" id="to_s-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 45</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 50</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-identifier">item_version</span> = <span class="ruby-identifier">version</span>
|
||||
<span class="ruby-node">"#@name#{' v' + item_version if item_version}"</span>
|
||||
@@ -525,7 +561,7 @@
|
||||
|
||||
<div class="method-source-code" id="version-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 27</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_item.rb, line 32</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">version</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@version</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">get_url</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">"readme.txt"</span>).<span class="ruby-identifier">to_s</span>)
|
||||
|
||||
@@ -288,7 +288,7 @@ found</p>
|
||||
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-ivar">@login_protection_plugin</span> = <span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-value">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">plugin_name</span>,
|
||||
<span class="ruby-value">:base_url</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-value">:url</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
@@ -214,6 +214,28 @@
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<div id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="name-attribute-method" class="method-detail">
|
||||
<a name="name"></a>
|
||||
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">name</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
@@ -240,9 +262,9 @@
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 24</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 26</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-ivar">@base_url</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:url</span>]
|
||||
<span class="ruby-ivar">@url</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:url</span>]
|
||||
<span class="ruby-ivar">@path</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:path</span>]
|
||||
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>]
|
||||
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">extract_name_from_url</span>(<span class="ruby-identifier">get_url</span>)
|
||||
@@ -250,7 +272,7 @@
|
||||
<span class="ruby-ivar">@vulns_xpath</span> = <span class="ruby-node">"//plugin[@name='#@name']/vulnerability"</span>
|
||||
<span class="ruby-ivar">@version</span> = <span class="ruby-keyword">nil</span>
|
||||
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"base_url not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@base_url</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"url not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@url</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"path not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@path</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"wp_content_dir not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@wp_content_dir</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"name not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@name</span>
|
||||
@@ -294,7 +316,7 @@ href="http://www.exploit-db.com/ghdb/3714/">www.exploit-db.com/ghdb/3714/</a></p
|
||||
|
||||
<div class="method-source-code" id="error_log-3F-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 45</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 47</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">error_log?</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">error_log_url</span>(), <span class="ruby-value">:headers</span> =<span class="ruby-operator">></span> { <span class="ruby-string">"range"</span> =<span class="ruby-operator">></span> <span class="ruby-string">"bytes=0-700"</span>}).<span class="ruby-identifier">body</span>
|
||||
<span class="ruby-identifier">response_body</span>[<span class="ruby-regexp">%{PHP Fatal error}</span>] <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
@@ -328,7 +350,7 @@ href="http://www.exploit-db.com/ghdb/3714/">www.exploit-db.com/ghdb/3714/</a></p
|
||||
|
||||
<div class="method-source-code" id="error_log_url-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 50</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 52</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">error_log_url</span>
|
||||
<span class="ruby-identifier">get_url</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">"error_log"</span>).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
|
||||
@@ -59,6 +59,8 @@
|
||||
|
||||
<li><a href="#method-i-plugins_from_aggressive_detection">#plugins_from_aggressive_detection</a></li>
|
||||
|
||||
<li><a href="#method-i-plugins_from_passive_detection">#plugins_from_passive_detection</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -226,7 +228,7 @@
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath_2</span>] = <span class="ruby-string">"//plugin"</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] = <span class="ruby-string">"plugins"</span>
|
||||
<span class="ruby-identifier">result</span> = <span class="ruby-constant">WpDetector</span>.<span class="ruby-identifier">aggressive_detection</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">result</span>
|
||||
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span> }
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- plugins_from_aggressive_detection-source -->
|
||||
|
||||
@@ -238,6 +240,58 @@
|
||||
</div><!-- plugins_from_aggressive_detection-method -->
|
||||
|
||||
|
||||
<div id="plugins_from_passive_detection-method" class="method-detail ">
|
||||
<a name="method-i-plugins_from_passive_detection"></a>
|
||||
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">plugins_from_passive_detection</span><span
|
||||
class="method-args">(wp_content_dir)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://code.google.com/p/wpscan/issues/detail?id=42">code.google.com/p/wpscan/issues/detail?id=42</a>
|
||||
plugins can be found in the source code :</p>
|
||||
|
||||
<pre><script src='http://example.com/wp-content/plugins/s2member/...' />
|
||||
<link rel='stylesheet' href='http://example.com/wp-content/plugins/wp-minify/..' type='text/css' media='screen'/>
|
||||
...</pre>
|
||||
|
||||
<p>return array of <a href="WpPlugin.html">WpPlugin</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="plugins_from_passive_detection-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/modules/wp_plugins.rb, line 40</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">plugins_from_passive_detection</span>(<span class="ruby-identifier">wp_content_dir</span>)
|
||||
<span class="ruby-identifier">plugins</span> = []
|
||||
<span class="ruby-identifier">temp</span> = <span class="ruby-constant">WpDetector</span>.<span class="ruby-identifier">passive_detection</span>(<span class="ruby-identifier">url</span>(), <span class="ruby-string">"plugins"</span>, <span class="ruby-identifier">wp_content_dir</span>)
|
||||
|
||||
<span class="ruby-identifier">temp</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">plugins</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-value">:url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">item</span>[<span class="ruby-value">:url</span>],
|
||||
<span class="ruby-value">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">item</span>[<span class="ruby-value">:name</span>],
|
||||
<span class="ruby-value">:path</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">item</span>[<span class="ruby-value">:path</span>],
|
||||
<span class="ruby-value">:wp_content_dir</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">wp_content_dir</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">plugins</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span> }
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- plugins_from_passive_detection-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- plugins_from_passive_detection-method -->
|
||||
|
||||
|
||||
</div><!-- public-instance-method-details -->
|
||||
|
||||
</div><!-- 5Buntitled-5D -->
|
||||
|
||||
@@ -373,7 +373,7 @@
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 76</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">valid_response_codes</span>
|
||||
[<span class="ruby-value">200</span>, <span class="ruby-value">403</span>, <span class="ruby-value">301</span>, <span class="ruby-value">302</span>]
|
||||
[<span class="ruby-value">200</span>, <span class="ruby-value">403</span>, <span class="ruby-value">301</span>, <span class="ruby-value">302</span>, <span class="ruby-value">500</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- valid_response_codes-source -->
|
||||
|
||||
|
||||
@@ -82,6 +82,18 @@
|
||||
|
||||
|
||||
|
||||
<!-- Included Modules -->
|
||||
<div id="includes-section" class="section">
|
||||
<h3 class="section-header">Included Modules</h3>
|
||||
<ul class="link-list">
|
||||
|
||||
|
||||
<li><a class="include" href="WpItem.html">WpItem</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
@@ -286,7 +298,7 @@
|
||||
|
||||
<div class="method-source-code" id="find-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 43</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 54</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">target_uri</span>)
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">methods</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-regexp">/find_from_/</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">method_to_call</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">theme</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">method_to_call</span>, <span class="ruby-identifier">target_uri</span>)
|
||||
@@ -311,7 +323,7 @@
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(name, options = {})</span>
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
@@ -324,13 +336,23 @@
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 26</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-ivar">@url</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:url</span>]
|
||||
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">extract_name_from_url</span>(<span class="ruby-identifier">get_url</span>)
|
||||
<span class="ruby-ivar">@path</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:path</span>]
|
||||
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>]
|
||||
<span class="ruby-ivar">@vulns_xml</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xml</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">'/wp_theme_vulns.xml'</span>
|
||||
<span class="ruby-ivar">@vulns_xpath</span> = <span class="ruby-node">"//theme[@name='#{@name}']/vulnerability"</span>
|
||||
<span class="ruby-ivar">@style_url</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:style_url</span>]
|
||||
|
||||
<span class="ruby-ivar">@version</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:version</span>]
|
||||
<span class="ruby-ivar">@style_url</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:style_url</span>]
|
||||
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"url not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@url</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"path not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@path</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"wp_content_dir not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@wp_content_dir</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"name not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@name</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">"vulns_xml not set"</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@vulns_xml</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
@@ -367,15 +389,20 @@
|
||||
|
||||
<div class="method-source-code" id="find_from_css_link-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 64</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 75</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_css_link</span>(<span class="ruby-identifier">target_uri</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">target_uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">:follow_location</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">true</span>, <span class="ruby-value">:max_redirects</span> =<span class="ruby-operator">></span> <span class="ruby-value">2</span>)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span> = <span class="ruby-regexp">%{https?://[^"]+/themes/([^"]+)/style.css}</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span> = <span class="ruby-regexp">%{https?://[^"']+/themes/([^"']+)/style.css}</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-identifier">style_url</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">0</span>]
|
||||
<span class="ruby-identifier">theme_name</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">1</span>]
|
||||
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">new</span>(<span class="ruby-identifier">theme_name</span>, <span class="ruby-value">:style_url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">style_url</span>)
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">new</span>(<span class="ruby-value">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">theme_name</span>,
|
||||
<span class="ruby-value">:style_url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">style_url</span>,
|
||||
<span class="ruby-value">:url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">style_url</span>,
|
||||
<span class="ruby-value">:path</span> =<span class="ruby-operator">></span> <span class="ruby-string">""</span>,
|
||||
<span class="ruby-value">:wp_content_dir</span> =<span class="ruby-operator">></span> <span class="ruby-string">""</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_css_link-source -->
|
||||
@@ -408,7 +435,7 @@ href="http://code.google.com/p/wpscan/issues/detail?id=141">code.google.com/p/wp
|
||||
|
||||
<div class="method-source-code" id="find_from_wooframework-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 76</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 92</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_wooframework</span>(<span class="ruby-identifier">target_uri</span>)
|
||||
<span class="ruby-identifier">body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">body</span>
|
||||
<span class="ruby-identifier">regexp</span> = <span class="ruby-regexp">%{<meta name="generator" content="([^\s"]+)\s?([^"]+)?" />\s+<meta name="generator" content="WooFramework\s?([^"]+)?" />}</span>
|
||||
@@ -418,7 +445,12 @@ href="http://code.google.com/p/wpscan/issues/detail?id=141">code.google.com/p/wp
|
||||
<span class="ruby-identifier">woo_theme_version</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">2</span>]
|
||||
<span class="ruby-identifier">woo_framework_version</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">3</span>] <span class="ruby-comment"># Not used at this time</span>
|
||||
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">new</span>(<span class="ruby-identifier">woo_theme_name</span>, <span class="ruby-value">:version</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">woo_theme_version</span>)
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">new</span>(<span class="ruby-value">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">woo_theme_name</span>,
|
||||
<span class="ruby-value">:version</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">woo_theme_version</span>,
|
||||
<span class="ruby-value">:url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">matches</span>[<span class="ruby-value">0</span>],
|
||||
<span class="ruby-value">:path</span> =<span class="ruby-operator">></span> <span class="ruby-string">""</span>,
|
||||
<span class="ruby-value">:wp_content_dir</span> =<span class="ruby-operator">></span> <span class="ruby-string">""</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_wooframework-source -->
|
||||
@@ -456,7 +488,7 @@ href="http://code.google.com/p/wpscan/issues/detail?id=141">code.google.com/p/wp
|
||||
|
||||
<div class="method-source-code" id="3D-3D-3D-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 57</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 68</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-operator">===</span>(<span class="ruby-identifier">wp_theme</span>)
|
||||
<span class="ruby-identifier">wp_theme</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">wp_theme</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@version</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
@@ -489,7 +521,7 @@ href="http://code.google.com/p/wpscan/issues/detail?id=141">code.google.com/p/wp
|
||||
|
||||
<div class="method-source-code" id="to_s-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 52</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 63</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-identifier">version</span> = <span class="ruby-identifier">version</span>()
|
||||
<span class="ruby-node">"#{@name}#{' v' + version if version}"</span>
|
||||
|
||||
@@ -272,7 +272,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 134</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 129</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>
|
||||
|
||||
@@ -315,12 +315,7 @@ href="WpscanOptions.html">WpscanOptions</a></p>
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 47</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
|
||||
<span class="ruby-ivar">@enumerate_plugins</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-ivar">@enumerate_themes</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-ivar">@enumerate_only_vulnerable_plugins</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-ivar">@enumerate_only_vulnerable_themes</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-ivar">@enumerate_timthumbs</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-ivar">@enumerate_usernames</span> = <span class="ruby-keyword">false</span>
|
||||
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
@@ -360,7 +355,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 221</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 216</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">/^--?/</span>, <span class="ruby-string">''</span>)
|
||||
<span class="ruby-identifier">cleaned_option</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/-/</span>, <span class="ruby-string">'_'</span>)
|
||||
@@ -395,7 +390,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 193</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 188</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">"--url"</span>, <span class="ruby-string">"-u"</span>, <span class="ruby-constant">GetoptLong</span><span class="ruby-operator">::</span><span class="ruby-constant">REQUIRED_ARGUMENT</span>],
|
||||
@@ -443,7 +438,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 212</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 207</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">:"#{WpscanOptions.clean_option(option)}"</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
@@ -476,7 +471,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 226</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 221</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">%{^#{cleaned_option}}</span>)
|
||||
@@ -518,7 +513,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 90</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 85</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_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-string">"You can't enumerate plugins and only vulnerable plugins at the same time, please choose only one"</span>
|
||||
@@ -555,7 +550,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 106</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 101</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_plugins</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-string">"You can't enumerate themes and only vulnerable themes at the same time, please choose only one"</span>
|
||||
@@ -596,7 +591,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 169</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 164</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>
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">enumerate_only_vulnerable_plugins</span> = <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/p!/</span>
|
||||
@@ -647,7 +642,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 82</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 77</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_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">"You can't enumerate plugins and only vulnerable plugins at the same time, please choose only one"</span>
|
||||
@@ -684,7 +679,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 98</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 93</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_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">"You can't enumerate themes and only vulnerable themes at the same time, please choose only one"</span>
|
||||
@@ -721,7 +716,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 114</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 109</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>
|
||||
@@ -754,7 +749,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>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 69</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">"Invalid proxy format. Should be host:port."</span>
|
||||
@@ -792,7 +787,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 148</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 143</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>)
|
||||
@@ -838,7 +833,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>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 57</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>
|
||||
@@ -871,7 +866,7 @@ value</p>
|
||||
|
||||
<div class="method-source-code" id="to_h-source">
|
||||
<pre>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 119</span>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 114</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_h</span>
|
||||
<span class="ruby-identifier">options</span> = {}
|
||||
|
||||
@@ -913,7 +908,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>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 51</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">"Empty URL given"</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">url</span>
|
||||
|
||||
@@ -948,7 +943,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>
|
||||
<span class="ruby-comment"># File lib/wpscan/wpscan_options.rb, line 61</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>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Sat, 15 Sep 2012 23:28:11 +0200
|
||||
Sun, 16 Sep 2012 10:27:57 +0200
|
||||
./CREDITS Thu, 13 Sep 2012 22:54:08 +0200
|
||||
./lib/browser.rb Sat, 15 Sep 2012 08:03:56 +0200
|
||||
./lib/cache_file_store.rb Sat, 15 Sep 2012 08:04:03 +0200
|
||||
@@ -14,28 +14,28 @@ Sat, 15 Sep 2012 23:28:11 +0200
|
||||
./lib/wpscan/modules/web_site.rb Sat, 15 Sep 2012 08:01:06 +0200
|
||||
./lib/wpscan/modules/wp_config_backup.rb Sat, 15 Sep 2012 08:01:11 +0200
|
||||
./lib/wpscan/modules/wp_full_path_disclosure.rb Sat, 15 Sep 2012 08:01:17 +0200
|
||||
./lib/wpscan/modules/wp_item.rb Sat, 15 Sep 2012 20:10:43 +0200
|
||||
./lib/wpscan/modules/wp_login_protection.rb Sat, 15 Sep 2012 16:18:05 +0200
|
||||
./lib/wpscan/modules/wp_plugins.rb Sat, 15 Sep 2012 23:15:20 +0200
|
||||
./lib/wpscan/modules/wp_item.rb Sun, 16 Sep 2012 10:26:21 +0200
|
||||
./lib/wpscan/modules/wp_login_protection.rb Sun, 16 Sep 2012 10:26:51 +0200
|
||||
./lib/wpscan/modules/wp_plugins.rb Sun, 16 Sep 2012 10:27:05 +0200
|
||||
./lib/wpscan/modules/wp_readme.rb Sat, 15 Sep 2012 08:01:52 +0200
|
||||
./lib/wpscan/modules/wp_themes.rb Sat, 15 Sep 2012 23:14:57 +0200
|
||||
./lib/wpscan/modules/wp_themes.rb Sun, 16 Sep 2012 10:27:17 +0200
|
||||
./lib/wpscan/modules/wp_timthumbs.rb Sat, 15 Sep 2012 08:01:58 +0200
|
||||
./lib/wpscan/modules/wp_usernames.rb Sat, 15 Sep 2012 08:02:04 +0200
|
||||
./lib/wpscan/msfrpc_client.rb Sat, 15 Sep 2012 08:02:28 +0200
|
||||
./lib/wpscan/vulnerable.rb Sat, 15 Sep 2012 08:02:37 +0200
|
||||
./lib/wpscan/wp_detector.rb Sat, 15 Sep 2012 20:54:19 +0200
|
||||
./lib/wpscan/wp_enumerator.rb Sat, 15 Sep 2012 23:27:28 +0200
|
||||
./lib/wpscan/wp_detector.rb Sun, 16 Sep 2012 10:25:30 +0200
|
||||
./lib/wpscan/wp_enumerator.rb Sun, 16 Sep 2012 10:25:41 +0200
|
||||
./lib/wpscan/wp_options.rb Sat, 15 Sep 2012 23:15:59 +0200
|
||||
./lib/wpscan/wp_plugin.rb Sat, 15 Sep 2012 22:09:03 +0200
|
||||
./lib/wpscan/wp_target.rb Sat, 15 Sep 2012 21:29:17 +0200
|
||||
./lib/wpscan/wp_theme.rb Sat, 15 Sep 2012 08:02:58 +0200
|
||||
./lib/wpscan/wp_plugin.rb Sun, 16 Sep 2012 10:27:39 +0200
|
||||
./lib/wpscan/wp_target.rb Sat, 15 Sep 2012 23:32:52 +0200
|
||||
./lib/wpscan/wp_theme.rb Sun, 16 Sep 2012 10:27:45 +0200
|
||||
./lib/wpscan/wp_version.rb Sat, 15 Sep 2012 08:03:04 +0200
|
||||
./lib/wpscan/wp_vulnerability.rb Sat, 15 Sep 2012 08:03:09 +0200
|
||||
./lib/wpscan/wpscan_helper.rb Sat, 15 Sep 2012 21:19:30 +0200
|
||||
./lib/wpscan/wpscan_options.rb Sat, 15 Sep 2012 21:55:29 +0200
|
||||
./lib/wpscan/wpscan_options.rb Sun, 16 Sep 2012 10:10:51 +0200
|
||||
./lib/wpstools/generate_list.rb Sat, 15 Sep 2012 08:03:43 +0200
|
||||
./lib/wpstools/parse_svn.rb Sat, 15 Sep 2012 08:03:36 +0200
|
||||
./lib/wpstools/parse_svn.rb Sat, 15 Sep 2012 23:36:25 +0200
|
||||
./lib/wpstools/wpstools_helper.rb Sat, 15 Sep 2012 08:03:49 +0200
|
||||
./README Thu, 13 Sep 2012 22:54:08 +0200
|
||||
./wpscan.rb Sat, 15 Sep 2012 22:20:21 +0200
|
||||
./wpscan.rb Sun, 16 Sep 2012 10:23:36 +0200
|
||||
./wpstools.rb Sat, 15 Sep 2012 08:06:35 +0200
|
||||
|
||||
@@ -125,10 +125,10 @@
|
||||
|
||||
<li><a href="WpEnumerator.html#method-c-enumerate">::enumerate — WpEnumerator</a></li>
|
||||
|
||||
<li><a href="WpVersion.html#method-c-find">::find — WpVersion</a></li>
|
||||
|
||||
<li><a href="WpTheme.html#method-c-find">::find — WpTheme</a></li>
|
||||
|
||||
<li><a href="WpVersion.html#method-c-find">::find — WpVersion</a></li>
|
||||
|
||||
<li><a href="WpVersion.html#method-c-find_from_advanced_fingerprinting">::find_from_advanced_fingerprinting — WpVersion</a></li>
|
||||
|
||||
<li><a href="WpTheme.html#method-c-find_from_css_link">::find_from_css_link — WpTheme</a></li>
|
||||
@@ -161,29 +161,29 @@
|
||||
|
||||
<li><a href="Malwares.html#method-c-malwares_file">::malwares_file — Malwares</a></li>
|
||||
|
||||
<li><a href="CacheFileStore.html#method-c-new">::new — CacheFileStore</a></li>
|
||||
|
||||
<li><a href="Exploit.html#method-c-new">::new — Exploit</a></li>
|
||||
|
||||
<li><a href="WpPlugin.html#method-c-new">::new — WpPlugin</a></li>
|
||||
<li><a href="WpscanOptions.html#method-c-new">::new — WpscanOptions</a></li>
|
||||
|
||||
<li><a href="WpVulnerability.html#method-c-new">::new — WpVulnerability</a></li>
|
||||
|
||||
<li><a href="Generate_List.html#method-c-new">::new — Generate_List</a></li>
|
||||
<li><a href="RpcClient.html#method-c-new">::new — RpcClient</a></li>
|
||||
|
||||
<li><a href="WpTheme.html#method-c-new">::new — WpTheme</a></li>
|
||||
<li><a href="WpPlugin.html#method-c-new">::new — WpPlugin</a></li>
|
||||
|
||||
<li><a href="CacheFileStore.html#method-c-new">::new — CacheFileStore</a></li>
|
||||
|
||||
<li><a href="WpVersion.html#method-c-new">::new — WpVersion</a></li>
|
||||
|
||||
<li><a href="RpcClient.html#method-c-new">::new — RpcClient</a></li>
|
||||
<li><a href="Generate_List.html#method-c-new">::new — Generate_List</a></li>
|
||||
|
||||
<li><a href="Updater.html#method-c-new">::new — Updater</a></li>
|
||||
|
||||
<li><a href="Svn_Parser.html#method-c-new">::new — Svn_Parser</a></li>
|
||||
|
||||
<li><a href="WpscanOptions.html#method-c-new">::new — WpscanOptions</a></li>
|
||||
|
||||
<li><a href="WpTarget.html#method-c-new">::new — WpTarget</a></li>
|
||||
|
||||
<li><a href="Updater.html#method-c-new">::new — Updater</a></li>
|
||||
<li><a href="Exploit.html#method-c-new">::new — Exploit</a></li>
|
||||
|
||||
<li><a href="WpTheme.html#method-c-new">::new — WpTheme</a></li>
|
||||
|
||||
<li><a href="WpscanOptions.html#method-c-option_to_instance_variable_setter">::option_to_instance_variable_setter — WpscanOptions</a></li>
|
||||
|
||||
@@ -277,6 +277,8 @@
|
||||
|
||||
<li><a href="WpItem.html#method-i-get_url">#get_url — WpItem</a></li>
|
||||
|
||||
<li><a href="WpItem.html#method-i-get_url_without_filename">#get_url_without_filename — WpItem</a></li>
|
||||
|
||||
<li><a href="Array.html#method-i-grep">#grep — Array</a></li>
|
||||
|
||||
<li><a href="WpLoginProtection.html#method-i-has_better_wp_security_protection-3F">#has_better_wp_security_protection? — WpLoginProtection</a></li>
|
||||
@@ -311,10 +313,10 @@
|
||||
|
||||
<li><a href="Updater.html#method-i-is_installed-3F">#is_installed? — Updater</a></li>
|
||||
|
||||
<li><a href="SvnUpdater.html#method-i-is_installed-3F">#is_installed? — SvnUpdater</a></li>
|
||||
|
||||
<li><a href="GitUpdater.html#method-i-is_installed-3F">#is_installed? — GitUpdater</a></li>
|
||||
|
||||
<li><a href="SvnUpdater.html#method-i-is_installed-3F">#is_installed? — SvnUpdater</a></li>
|
||||
|
||||
<li><a href="WebSite.html#method-i-is_online-3F">#is_online? — WebSite</a></li>
|
||||
|
||||
<li><a href="WebSite.html#method-i-is_wordpress-3F">#is_wordpress? — WebSite</a></li>
|
||||
@@ -333,11 +335,11 @@
|
||||
|
||||
<li><a href="Browser.html#method-i-load_config">#load_config — Browser</a></li>
|
||||
|
||||
<li><a href="Updater.html#method-i-local_revision_number">#local_revision_number — Updater</a></li>
|
||||
<li><a href="SvnUpdater.html#method-i-local_revision_number">#local_revision_number — SvnUpdater</a></li>
|
||||
|
||||
<li><a href="GitUpdater.html#method-i-local_revision_number">#local_revision_number — GitUpdater</a></li>
|
||||
|
||||
<li><a href="SvnUpdater.html#method-i-local_revision_number">#local_revision_number — SvnUpdater</a></li>
|
||||
<li><a href="Updater.html#method-i-local_revision_number">#local_revision_number — Updater</a></li>
|
||||
|
||||
<li><a href="WpItem.html#method-i-location_uri_from_file_url">#location_uri_from_file_url — WpItem</a></li>
|
||||
|
||||
@@ -359,14 +361,16 @@
|
||||
|
||||
<li><a href="Exploit.html#method-i-meterpreter_read">#meterpreter_read — Exploit</a></li>
|
||||
|
||||
<li><a href="RpcClient.html#method-i-meterpreter_write">#meterpreter_write — RpcClient</a></li>
|
||||
|
||||
<li><a href="Exploit.html#method-i-meterpreter_write">#meterpreter_write — Exploit</a></li>
|
||||
|
||||
<li><a href="RpcClient.html#method-i-meterpreter_write">#meterpreter_write — RpcClient</a></li>
|
||||
|
||||
<li><a href="Svn_Parser.html#method-i-parse">#parse — Svn_Parser</a></li>
|
||||
|
||||
<li><a href="WpPlugins.html#method-i-plugins_from_aggressive_detection">#plugins_from_aggressive_detection — WpPlugins</a></li>
|
||||
|
||||
<li><a href="WpPlugins.html#method-i-plugins_from_passive_detection">#plugins_from_passive_detection — WpPlugins</a></li>
|
||||
|
||||
<li><a href="Browser.html#method-i-post">#post — Browser</a></li>
|
||||
|
||||
<li><a href="WpscanOptions.html#method-i-proxy-3D">#proxy= — WpscanOptions</a></li>
|
||||
@@ -393,10 +397,10 @@
|
||||
|
||||
<li><a href="Exploit.html#method-i-session_count">#session_count — Exploit</a></li>
|
||||
|
||||
<li><a href="RpcClient.html#method-i-sessions">#sessions — RpcClient</a></li>
|
||||
|
||||
<li><a href="Exploit.html#method-i-sessions">#sessions — Exploit</a></li>
|
||||
|
||||
<li><a href="RpcClient.html#method-i-sessions">#sessions — RpcClient</a></li>
|
||||
|
||||
<li><a href="WpscanOptions.html#method-i-set_option_from_cli">#set_option_from_cli — WpscanOptions</a></li>
|
||||
|
||||
<li><a href="WpLoginProtection.html#method-i-simple_login_lockdown_url">#simple_login_lockdown_url — WpLoginProtection</a></li>
|
||||
@@ -409,6 +413,8 @@
|
||||
|
||||
<li><a href="WpThemes.html#method-i-themes_from_aggressive_detection">#themes_from_aggressive_detection — WpThemes</a></li>
|
||||
|
||||
<li><a href="WpThemes.html#method-i-themes_from_passive_detection">#themes_from_passive_detection — WpThemes</a></li>
|
||||
|
||||
<li><a href="WpscanOptions.html#method-i-threads-3D">#threads= — WpscanOptions</a></li>
|
||||
|
||||
<li><a href="WpTimthumbs.html#method-i-timthumbs">#timthumbs — WpTimthumbs</a></li>
|
||||
@@ -439,10 +445,10 @@
|
||||
|
||||
<li><a href="WpUsernames.html#method-i-usernames">#usernames — WpUsernames</a></li>
|
||||
|
||||
<li><a href="WpItem.html#method-i-version">#version — WpItem</a></li>
|
||||
|
||||
<li><a href="WpTarget.html#method-i-version">#version — WpTarget</a></li>
|
||||
|
||||
<li><a href="WpItem.html#method-i-version">#version — WpItem</a></li>
|
||||
|
||||
<li><a href="Vulnerable.html#method-i-vulnerabilities">#vulnerabilities — Vulnerable</a></li>
|
||||
|
||||
<li><a href="WpscanOptions.html#method-i-wordlist-3D">#wordlist= — WpscanOptions</a></li>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 20:10:43 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:26:21 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 16:18:05 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:26:51 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 23:15:20 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:27:05 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 20:54:19 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:25:30 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 23:27:28 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:25:41 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 22:09:03 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:27:39 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 21:29:17 +0200</dd>
|
||||
<dd class="modified-date">2012-09-15 23:32:52 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 08:02:58 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:27:45 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 21:55:29 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:10:51 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 08:03:36 +0200</dd>
|
||||
<dd class="modified-date">2012-09-15 23:36:25 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<div id="metadata">
|
||||
<dl>
|
||||
<dt class="modified-date">Last Modified</dt>
|
||||
<dd class="modified-date">2012-09-15 22:20:21 +0200</dd>
|
||||
<dd class="modified-date">2012-09-16 10:23:36 +0200</dd>
|
||||
|
||||
|
||||
<dt class="requires">Requires</dt>
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
#++
|
||||
|
||||
module WpItem
|
||||
attr_accessor :path, :base_url, :wp_content_dir
|
||||
attr_accessor :path, :url, :wp_content_dir
|
||||
@version = nil
|
||||
|
||||
def get_url
|
||||
URI.parse("#{@base_url.to_s}#@wp_content_dir/#@path")
|
||||
URI.parse("#{@url.to_s}#@wp_content_dir/#@path")
|
||||
end
|
||||
|
||||
def get_url_without_filename
|
||||
|
||||
@@ -38,7 +38,7 @@ module WpLoginProtection
|
||||
|
||||
return @login_protection_plugin = WpPlugin.new(
|
||||
:name => plugin_name,
|
||||
:base_url => @uri.to_s
|
||||
:url => @uri.to_s
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -43,7 +43,7 @@ module WpPlugins
|
||||
|
||||
temp.each do |item|
|
||||
plugins << WpPlugin.new(
|
||||
:base_url => item[:base_url],
|
||||
:url => item[:url],
|
||||
:name => item[:name],
|
||||
:path => item[:path],
|
||||
:wp_content_dir => wp_content_dir
|
||||
|
||||
@@ -34,7 +34,7 @@ module WpThemes
|
||||
|
||||
temp.each do |item|
|
||||
themes << WpPlugin.new(
|
||||
:base_url => item[:base_url],
|
||||
:url => item[:url],
|
||||
:name => item[:name],
|
||||
:path => item[:path],
|
||||
:wp_content_dir => wp_content_dir
|
||||
|
||||
@@ -60,7 +60,7 @@ class WpDetector
|
||||
names.uniq!
|
||||
|
||||
names.each do |item|
|
||||
items << { :base_url => url, :name => item, :path => "#{type}/#{item}" }
|
||||
items << { :url => url, :name => item, :path => "#{type}/#{item}" }
|
||||
end
|
||||
items
|
||||
end
|
||||
|
||||
@@ -24,7 +24,7 @@ class WpEnumerator
|
||||
# ==== Attributes
|
||||
#
|
||||
# * +targets+ - targets to enumerate
|
||||
# * * +:base_url+ - Base URL
|
||||
# * * +:url+ - Base URL
|
||||
# * * +:wp_content+ - wp-content directory
|
||||
# * * +:path+ - Path to plugin
|
||||
# * +type+ - "plugins" or "themes", item to enumerate
|
||||
|
||||
@@ -24,7 +24,7 @@ class WpPlugin < Vulnerable
|
||||
attr_reader :name
|
||||
|
||||
def initialize(options = {})
|
||||
@base_url = options[:url]
|
||||
@url = options[:url]
|
||||
@path = options[:path]
|
||||
@wp_content_dir = options[:wp_content_dir]
|
||||
@name = options[:name] || extract_name_from_url(get_url)
|
||||
@@ -32,7 +32,7 @@ class WpPlugin < Vulnerable
|
||||
@vulns_xpath = "//plugin[@name='#@name']/vulnerability"
|
||||
@version = nil
|
||||
|
||||
raise("base_url not set") unless @base_url
|
||||
raise("url not set") unless @url
|
||||
raise("path not set") unless @path
|
||||
raise("wp_content_dir not set") unless @wp_content_dir
|
||||
raise("name not set") unless @name
|
||||
|
||||
@@ -24,7 +24,7 @@ class WpTheme < Vulnerable
|
||||
attr_reader :name, :style_url, :version
|
||||
|
||||
def initialize(options = {})
|
||||
@base_url = options[:url]
|
||||
@url = options[:url]
|
||||
@name = options[:name] || extract_name_from_url(get_url)
|
||||
@path = options[:path]
|
||||
@wp_content_dir = options[:wp_content_dir]
|
||||
@@ -34,7 +34,7 @@ class WpTheme < Vulnerable
|
||||
@version = options[:version]
|
||||
@style_url = options[:style_url]
|
||||
|
||||
raise("base_url not set") unless @base_url
|
||||
raise("url not set") unless @url
|
||||
raise("path not set") unless @path
|
||||
raise("wp_content_dir not set") unless @wp_content_dir
|
||||
raise("name not set") unless @name
|
||||
|
||||
Reference in New Issue
Block a user