Files
wpscan/doc_rdoc/WpPlugins/Detectable.html
Christian Mehlmauer 99ea17127d docs
2013-07-19 21:49:57 +02:00

529 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Module: WpPlugins::Detectable</title>
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
<script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
</head>
<body id="top" class="module">
<div id="metadata">
<div id="home-metadata">
<div id="home-section" class="section">
<h3 class="section-header">
<a href="../index.html">Home</a>
<a href="../index.html#classes">Classes</a>
<a href="../index.html#methods">Methods</a>
</h3>
</div>
</div>
<div id="file-metadata">
<div id="file-list-section" class="section">
<h3 class="section-header">In Files</h3>
<div class="section-body">
<ul>
<li><a href="../lib/common/collections/wp_plugins/detectable_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
class="thickbox" title="lib/common/collections/wp_plugins/detectable.rb">lib/common/collections/wp_plugins/detectable.rb</a></li>
</ul>
</div>
</div>
</div>
<div id="class-metadata">
<!-- Method Quickref -->
<div id="method-list-section" class="section">
<h3 class="section-header">Methods</h3>
<ul class="link-list">
<li><a href="#method-i-from_content">#from_content</a></li>
<li><a href="#method-i-from_header">#from_header</a></li>
<li><a href="#method-i-item_xpath">#item_xpath</a></li>
<li><a href="#method-i-passive_detection">#passive_detection</a></li>
<li><a href="#method-i-vulns_file">#vulns_file</a></li>
</ul>
</div>
</div>
<div id="project-metadata">
<div id="fileindex-section" class="section project-section">
<h3 class="section-header">Files</h3>
<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="../LICENSE.html">LICENSE</a></li>
<li class="file"><a href="../README.html">README</a></li>
</ul>
</div>
<div id="classindex-section" class="section project-section">
<h3 class="section-header">Class/Module Index
<span class="search-toggle"><img src="../images/find.png"
height="16" width="16" alt="[+]"
title="show/hide quicksearch" /></span></h3>
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
<fieldset>
<legend>Quicksearch</legend>
<input type="text" name="quicksearch" value=""
class="quicksearch-field" />
</fieldset>
</form>
<ul class="link-list">
<li><a href="../WpTarget.html">WpTarget</a></li>
<li><a href="../WpTarget/InterestingHeaders.html">WpTarget::InterestingHeaders</a></li>
<li><a href="../WpTarget/Malwares.html">WpTarget::Malwares</a></li>
<li><a href="../WpTarget/WpConfigBackup.html">WpTarget::WpConfigBackup</a></li>
<li><a href="../WpTarget/WpCustomDirectories.html">WpTarget::WpCustomDirectories</a></li>
<li><a href="../WpTarget/WpFullPathDisclosure.html">WpTarget::WpFullPathDisclosure</a></li>
<li><a href="../WpTarget/WpLoginProtection.html">WpTarget::WpLoginProtection</a></li>
<li><a href="../WpTarget/WpReadme.html">WpTarget::WpReadme</a></li>
<li><a href="../WpTarget/WpRegistrable.html">WpTarget::WpRegistrable</a></li>
<li><a href="../WpItem.html">WpItem</a></li>
<li><a href="../WpItem/Existable.html">WpItem::Existable</a></li>
<li><a href="../WpItem/Findable.html">WpItem::Findable</a></li>
<li><a href="../WpItem/Infos.html">WpItem::Infos</a></li>
<li><a href="../WpItem/Output.html">WpItem::Output</a></li>
<li><a href="../WpItem/Versionable.html">WpItem::Versionable</a></li>
<li><a href="../WpItem/Vulnerable.html">WpItem::Vulnerable</a></li>
<li><a href="../Typhoeus.html">Typhoeus</a></li>
<li><a href="../Typhoeus/Request.html">Typhoeus::Request</a></li>
<li><a href="../Typhoeus/Request/Cacheable.html">Typhoeus::Request::Cacheable</a></li>
<li><a href="../Typhoeus/Response.html">Typhoeus::Response</a></li>
<li><a href="../WpTheme.html">WpTheme</a></li>
<li><a href="../WpTheme/Findable.html">WpTheme::Findable</a></li>
<li><a href="../WpTheme/Versionable.html">WpTheme::Versionable</a></li>
<li><a href="../WpTheme/Vulnerable.html">WpTheme::Vulnerable</a></li>
<li><a href="../WpTimthumb.html">WpTimthumb</a></li>
<li><a href="../WpTimthumb/Existable.html">WpTimthumb::Existable</a></li>
<li><a href="../WpTimthumb/Output.html">WpTimthumb::Output</a></li>
<li><a href="../WpTimthumb/Versionable.html">WpTimthumb::Versionable</a></li>
<li><a href="../WpUsers.html">WpUsers</a></li>
<li><a href="../WpUsers/BruteForcable.html">WpUsers::BruteForcable</a></li>
<li><a href="../WpUsers/Detectable.html">WpUsers::Detectable</a></li>
<li><a href="../WpUsers/Output.html">WpUsers::Output</a></li>
<li><a href="../WpVersion.html">WpVersion</a></li>
<li><a href="../WpVersion/Findable.html">WpVersion::Findable</a></li>
<li><a href="../WpVersion/Output.html">WpVersion::Output</a></li>
<li><a href="../WpVersion/Vulnerable.html">WpVersion::Vulnerable</a></li>
<li><a href="../Browser.html">Browser</a></li>
<li><a href="../Browser/Actions.html">Browser::Actions</a></li>
<li><a href="../Browser/Options.html">Browser::Options</a></li>
<li><a href="../Terminal.html">Terminal</a></li>
<li><a href="../Terminal/Table.html">Terminal::Table</a></li>
<li><a href="../Terminal/Table/Style.html">Terminal::Table::Style</a></li>
<li><a href="../WpItems.html">WpItems</a></li>
<li><a href="../WpItems/Detectable.html">WpItems::Detectable</a></li>
<li><a href="../WpItems/Output.html">WpItems::Output</a></li>
<li><a href="../WpUser.html">WpUser</a></li>
<li><a href="../WpUser/BruteForcable.html">WpUser::BruteForcable</a></li>
<li><a href="../WpUser/Existable.html">WpUser::Existable</a></li>
<li><a href="../Vulnerabilities.html">Vulnerabilities</a></li>
<li><a href="../Vulnerabilities/Output.html">Vulnerabilities::Output</a></li>
<li><a href="../Vulnerability.html">Vulnerability</a></li>
<li><a href="../Vulnerability/Output.html">Vulnerability::Output</a></li>
<li><a href="../WpPlugin.html">WpPlugin</a></li>
<li><a href="../WpPlugin/Vulnerable.html">WpPlugin::Vulnerable</a></li>
<li><a href="../WpPlugins.html">WpPlugins</a></li>
<li><a href="../WpPlugins/Detectable.html">WpPlugins::Detectable</a></li>
<li><a href="../WpThemes.html">WpThemes</a></li>
<li><a href="../WpThemes/Detectable.html">WpThemes::Detectable</a></li>
<li><a href="../WpTimthumbs.html">WpTimthumbs</a></li>
<li><a href="../WpTimthumbs/Detectable.html">WpTimthumbs::Detectable</a></li>
<li><a href="../Array.html">Array</a></li>
<li><a href="../CacheFileStore.html">CacheFileStore</a></li>
<li><a href="../CheckerPlugin.html">CheckerPlugin</a></li>
<li><a href="../CustomOptionParser.html">CustomOptionParser</a></li>
<li><a href="../File.html">File</a></li>
<li><a href="../GenerateList.html">GenerateList</a></li>
<li><a href="../GitUpdater.html">GitUpdater</a></li>
<li><a href="../ListGeneratorPlugin.html">ListGeneratorPlugin</a></li>
<li><a href="../Object.html">Object</a></li>
<li><a href="../Plugin.html">Plugin</a></li>
<li><a href="../Plugins.html">Plugins</a></li>
<li><a href="../StatsPlugin.html">StatsPlugin</a></li>
<li><a href="../SvnParser.html">SvnParser</a></li>
<li><a href="../SvnUpdater.html">SvnUpdater</a></li>
<li><a href="../TyphoeusCache.html">TyphoeusCache</a></li>
<li><a href="../URI.html">URI</a></li>
<li><a href="../Updater.html">Updater</a></li>
<li><a href="../UpdaterFactory.html">UpdaterFactory</a></li>
<li><a href="../VersionCompare.html">VersionCompare</a></li>
<li><a href="../WebSite.html">WebSite</a></li>
<li><a href="../WpscanOptions.html">WpscanOptions</a></li>
</ul>
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
</div>
</div>
</div>
<div id="documentation">
<h1 class="module">WpPlugins::Detectable</h1>
<div id="description" class="description">
</div><!-- description -->
<div id="5Buntitled-5D" class="documentation-section">
<!-- Methods -->
<div id="public-instance-method-details" class="method-section section">
<h3 class="section-header">Public Instance Methods</h3>
<div id="item_xpath-method" class="method-detail ">
<a name="method-i-item_xpath"></a>
<div class="method-heading">
<span class="method-name">item_xpath</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>@return [ String ]</p>
<div class="method-source-code" id="item_xpath-source">
<pre>
<span class="ruby-comment"># File lib/common/collections/wp_plugins/detectable.rb, line 11</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">item_xpath</span>
<span class="ruby-string">'//plugin'</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- item_xpath-source -->
</div>
</div><!-- item_xpath-method -->
<div id="passive_detection-method" class="method-detail ">
<a name="method-i-passive_detection"></a>
<div class="method-heading">
<span class="method-name">passive_detection</span><span
class="method-args">(wp_target, options = {})</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>@param [ <a href="../WpTarget.html">WpTarget</a> ] wp_target @param [ Hash
] options</p>
<p>@return [ <a href="../WpPlugins.html">WpPlugins</a> ]</p>
<div class="method-source-code" id="passive_detection-source">
<pre>
<span class="ruby-comment"># File lib/common/collections/wp_plugins/detectable.rb, line 19</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">passive_detection</span>(<span class="ruby-identifier">wp_target</span>, <span class="ruby-identifier">options</span> = {})
<span class="ruby-identifier">detected</span> = <span class="ruby-keyword">super</span>(<span class="ruby-identifier">wp_target</span>, <span class="ruby-identifier">options</span>)
<span class="ruby-identifier">detected</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">from_header</span>(<span class="ruby-identifier">wp_target</span>)
<span class="ruby-identifier">detected</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">from_content</span>(<span class="ruby-identifier">wp_target</span>)
<span class="ruby-identifier">detected</span>.<span class="ruby-identifier">uniq!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">name</span> }
<span class="ruby-identifier">detected</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- passive_detection-source -->
</div>
</div><!-- passive_detection-method -->
<div id="vulns_file-method" class="method-detail ">
<a name="method-i-vulns_file"></a>
<div class="method-heading">
<span class="method-name">vulns_file</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>@return [ String ]</p>
<div class="method-source-code" id="vulns_file-source">
<pre>
<span class="ruby-comment"># File lib/common/collections/wp_plugins/detectable.rb, line 6</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">vulns_file</span>
<span class="ruby-constant">PLUGINS_VULNS_FILE</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- vulns_file-source -->
</div>
</div><!-- vulns_file-method -->
</div><!-- public-instance-method-details -->
<div id="protected-instance-method-details" class="method-section section">
<h3 class="section-header">Protected Instance Methods</h3>
<div id="from_content-method" class="method-detail ">
<a name="method-i-from_content"></a>
<div class="method-heading">
<span class="method-name">from_content</span><span
class="method-args">(wp_target)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>&lt;! Cached page generated by WP-Super-Cache on 2013-05-03 14:46:37 &gt;
&lt;! Performance optimized by W3 Total Cache. @param [ <a
href="../WpTarget.html">WpTarget</a> ] wp_target</p>
<p>@return [ <a href="../WpPlugins.html">WpPlugins</a> ]</p>
<div class="method-source-code" id="from_content-source">
<pre>
<span class="ruby-comment"># File lib/common/collections/wp_plugins/detectable.rb, line 59</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">from_content</span>(<span class="ruby-identifier">wp_target</span>)
<span class="ruby-identifier">body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">wp_target</span>.<span class="ruby-identifier">url</span>).<span class="ruby-identifier">body</span>
<span class="ruby-identifier">wp_plugins</span> = <span class="ruby-constant">WpPlugins</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wp_target</span>)
<span class="ruby-identifier">wp_plugins</span>.<span class="ruby-identifier">add</span>(<span class="ruby-string">'wp-super-cache'</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/wp-super-cache/</span>
<span class="ruby-identifier">wp_plugins</span>.<span class="ruby-identifier">add</span>(<span class="ruby-string">'w3-total-cache'</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/w3 total cache/</span>
<span class="ruby-identifier">wp_plugins</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- from_content-source -->
</div>
</div><!-- from_content-method -->
<div id="from_header-method" class="method-detail ">
<a name="method-i-from_header"></a>
<div class="method-heading">
<span class="method-name">from_header</span><span
class="method-args">(wp_target)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<p>X-Powered-By: W3 Total Cache/0.9.2.5 WP-Super-Cache: Served supercache file
from PHP @param [ <a href="../WpTarget.html">WpTarget</a> ] wp_target</p>
<p>@return [ <a href="../WpPlugins.html">WpPlugins</a> ]</p>
<div class="method-source-code" id="from_header-source">
<pre>
<span class="ruby-comment"># File lib/common/collections/wp_plugins/detectable.rb, line 36</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">from_header</span>(<span class="ruby-identifier">wp_target</span>)
<span class="ruby-identifier">headers</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">wp_target</span>.<span class="ruby-identifier">url</span>).<span class="ruby-identifier">headers</span>
<span class="ruby-identifier">wp_plugins</span> = <span class="ruby-constant">WpPlugins</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wp_target</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">headers</span>
<span class="ruby-identifier">powered_by</span> = <span class="ruby-identifier">headers</span>[<span class="ruby-string">'X-Powered-By'</span>].<span class="ruby-identifier">to_s</span>
<span class="ruby-identifier">wp_super_cache</span> = <span class="ruby-identifier">headers</span>[<span class="ruby-string">'wp-super-cache'</span>].<span class="ruby-identifier">to_s</span>
<span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span> = <span class="ruby-regexp">/W3 Total Cache\/([0-9.]+)/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">powered_by</span>)
<span class="ruby-identifier">wp_plugins</span>.<span class="ruby-identifier">add</span>(<span class="ruby-string">'w3-total-cache'</span>, <span class="ruby-identifier">version</span><span class="ruby-operator">:</span> <span class="ruby-identifier">matches</span>[<span class="ruby-value">1</span>])
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">wp_plugins</span>.<span class="ruby-identifier">add</span>(<span class="ruby-string">'wp-super-cache'</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">wp_super_cache</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/supercache/</span>
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">wp_plugins</span>
<span class="ruby-keyword">end</span></pre>
</div><!-- from_header-source -->
</div>
</div><!-- from_header-method -->
</div><!-- protected-instance-method-details -->
</div><!-- 5Buntitled-5D -->
</div><!-- documentation -->
<div id="validator-badges">
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
Rdoc Generator</a> 2</small>.</p>
</div>
</body>
</html>