920 lines
40 KiB
HTML
920 lines
40 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html>
|
|
<head>
|
|
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
|
|
|
<title>class Object - 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 id="top" class="class">
|
|
<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="file-metadata">
|
|
<nav id="file-list-section" class="section">
|
|
<h3 class="section-header">Defined In</h3>
|
|
<ul>
|
|
<li>lib/common_helper.rb
|
|
<li>lib/wpscan/wpscan_helper.rb
|
|
<li>lib/wpstools/wpstools_helper.rb
|
|
<li>wpscan.rb
|
|
</ul>
|
|
</nav>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="class-metadata">
|
|
|
|
<nav id="parent-class-section" class="section">
|
|
<h3 class="section-header">Parent</h3>
|
|
|
|
<p class="link">BasicObject
|
|
|
|
</nav>
|
|
|
|
|
|
<!-- Method Quickref -->
|
|
<nav id="method-list-section" class="section">
|
|
<h3 class="section-header">Methods</h3>
|
|
|
|
<ul class="link-list">
|
|
|
|
<li><a href="#method-i-add_http_protocol">#add_http_protocol</a>
|
|
|
|
<li><a href="#method-i-add_trailing_slash">#add_trailing_slash</a>
|
|
|
|
<li><a href="#method-i-banner">#banner</a>
|
|
|
|
<li><a href="#method-i-colorize">#colorize</a>
|
|
|
|
<li><a href="#method-i-get_equal_string_end">#get_equal_string_end</a>
|
|
|
|
<li><a href="#method-i-get_metasploit_url">#get_metasploit_url</a>
|
|
|
|
<li><a href="#method-i-green">#green</a>
|
|
|
|
<li><a href="#method-i-help">#help</a>
|
|
|
|
<li><a href="#method-i-output_vulnerabilities">#output_vulnerabilities</a>
|
|
|
|
<li><a href="#method-i-puts">#puts</a>
|
|
|
|
<li><a href="#method-i-red">#red</a>
|
|
|
|
<li><a href="#method-i-require_files_from_directory">#require_files_from_directory</a>
|
|
|
|
<li><a href="#method-i-usage">#usage</a>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</div>
|
|
|
|
<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>
|
|
|
|
<li class="file"><a href="./log_txt.html">log</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="./CheckerPlugin.html">CheckerPlugin</a>
|
|
|
|
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
|
|
|
<li><a href="./GenerateList.html">GenerateList</a>
|
|
|
|
<li><a href="./GitUpdater.html">GitUpdater</a>
|
|
|
|
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
|
|
|
<li><a href="./Malwares.html">Malwares</a>
|
|
|
|
<li><a href="./Object.html">Object</a>
|
|
|
|
<li><a href="./Plugin.html">Plugin</a>
|
|
|
|
<li><a href="./Plugins.html">Plugins</a>
|
|
|
|
<li><a href="./SvnParser.html">SvnParser</a>
|
|
|
|
<li><a href="./SvnUpdater.html">SvnUpdater</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">
|
|
<h1 class="class">class Object</h1>
|
|
|
|
<div id="description" class="description">
|
|
|
|
</div><!-- description -->
|
|
|
|
|
|
|
|
|
|
<section id="5Buntitled-5D" class="documentation-section">
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Constants -->
|
|
<section id="constants-list" class="section">
|
|
<h3 class="section-header">Constants</h3>
|
|
<dl>
|
|
|
|
<dt id="CACHE_DIR">CACHE_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="COMMON_LIB_DIR">COMMON_LIB_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="COMON_PLUGINS_DIR">COMON_PLUGINS_DIR
|
|
|
|
<dd class="description"><p><a href="Plugins.html">Plugins</a> directories</p>
|
|
|
|
|
|
<dt id="CONF_DIR">CONF_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="DATA_DIR">DATA_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="LIB_DIR">LIB_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="LOCAL_FILES_FILE">LOCAL_FILES_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="LOCAL_FILES_XSD">LOCAL_FILES_XSD
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="LOG_FILE">LOG_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="PLUGINS_FILE">PLUGINS_FILE
|
|
|
|
<dd class="description"><p>Data files</p>
|
|
|
|
|
|
<dt id="PLUGINS_FULL_FILE">PLUGINS_FULL_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="PLUGINS_VULNS_FILE">PLUGINS_VULNS_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="REVISION">REVISION
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="ROOT_DIR">ROOT_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="THEMES_FILE">THEMES_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="THEMES_FULL_FILE">THEMES_FULL_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="THEMES_VULNS_FILE">THEMES_VULNS_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="UPDATER_LIB_DIR">UPDATER_LIB_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="VULNS_XSD">VULNS_XSD
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="WPSCAN_LIB_DIR">WPSCAN_LIB_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="WPSCAN_PLUGINS_DIR">WPSCAN_PLUGINS_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="WPSCAN_VERSION">WPSCAN_VERSION
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="WPSTOOLS_LIB_DIR">WPSTOOLS_LIB_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="WPSTOOLS_PLUGINS_DIR">WPSTOOLS_PLUGINS_DIR
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="WP_VERSIONS_FILE">WP_VERSIONS_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="WP_VERSIONS_XSD">WP_VERSIONS_XSD
|
|
|
|
<dd class="description">
|
|
|
|
|
|
<dt id="WP_VULNS_FILE">WP_VULNS_FILE
|
|
|
|
<dd class="description">
|
|
|
|
|
|
</dl>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- Methods -->
|
|
|
|
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
|
<h3 class="section-header">Public Instance Methods</h3>
|
|
|
|
|
|
<div id="method-i-add_http_protocol" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">add_http_protocol</span><span
|
|
class="method-args">(url)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
<p>Add protocol</p>
|
|
|
|
|
|
|
|
<div class="method-source-code" id="add_http_protocol-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 65</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_http_protocol</span>(<span class="ruby-identifier">url</span>)
|
|
<span class="ruby-identifier">url</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r^https?:/</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">url</span> <span class="ruby-operator">:</span> <span class="ruby-node">"http://#{url}"</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- add_http_protocol-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- add_http_protocol-method -->
|
|
|
|
|
|
<div id="method-i-add_trailing_slash" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">add_trailing_slash</span><span
|
|
class="method-args">(url)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code" id="add_trailing_slash-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 69</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_trailing_slash</span>(<span class="ruby-identifier">url</span>)
|
|
<span class="ruby-identifier">url</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r\/$/</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">url</span> <span class="ruby-operator">:</span> <span class="ruby-node">"#{url}/"</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- add_trailing_slash-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- add_trailing_slash-method -->
|
|
|
|
|
|
<div id="method-i-banner" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">banner</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
<p>our 1337 banner</p>
|
|
|
|
|
|
|
|
<div class="method-source-code" id="banner-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 135</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">banner</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'____________________________________________________'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' __ _______ _____ '</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' \ \ / / __ \ / ____| '</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' \ \ /\ / /| |__) | (___ ___ __ _ _ __ '</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' \ \/ \/ / | ___/ \___ \ / __|/ _` | \_ \ '</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' \ /\ / | | ____) | (__| (_| | | | |'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">" \\/ \\/ |_| |_____/ \\___|\\__,_|_| |_| v#{WPSCAN_VERSION}r#{REVISION}"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' WordPress Security Scanner by the WPScan Team'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' Sponsored by the RandomStorm Open Source Initiative'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'_____________________________________________________'</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-keyword">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator"><</span> <span class="ruby-string">'1.9'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'[WARNING] Ruby < 1.9 not officially supported, please upgrade.'</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- banner-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- banner-method -->
|
|
|
|
|
|
<div id="method-i-colorize" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">colorize</span><span
|
|
class="method-args">(text, color_code)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code" id="colorize-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 154</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">color_code</span>)
|
|
<span class="ruby-node">"\e[#{color_code}m#{text}\e[0m"</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- colorize-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- colorize-method -->
|
|
|
|
|
|
<div id="method-i-get_equal_string_end" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">get_equal_string_end</span><span
|
|
class="method-args">(stringarray = [''])</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
<p>Gets the string all elements in stringarray ends with</p>
|
|
|
|
|
|
|
|
<div class="method-source-code" id="get_equal_string_end-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 74</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_equal_string_end</span>(<span class="ruby-identifier">stringarray</span> = [<span class="ruby-string">''</span>])
|
|
<span class="ruby-identifier">already_found</span> = <span class="ruby-string">''</span>
|
|
<span class="ruby-identifier">looping</span> = <span class="ruby-keyword">true</span>
|
|
<span class="ruby-identifier">counter</span> = <span class="ruby-value">-1</span>
|
|
<span class="ruby-keyword">if</span> <span class="ruby-identifier">stringarray</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Array</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">stringarray</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>
|
|
<span class="ruby-identifier">base</span> = <span class="ruby-identifier">stringarray</span>[<span class="ruby-value">0</span>]
|
|
<span class="ruby-keyword">while</span> <span class="ruby-identifier">looping</span>
|
|
<span class="ruby-identifier">character</span> = <span class="ruby-identifier">base</span>[<span class="ruby-identifier">counter</span>, <span class="ruby-value">1</span>]
|
|
<span class="ruby-identifier">stringarray</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
|
|
<span class="ruby-keyword">if</span> <span class="ruby-identifier">s</span>[<span class="ruby-identifier">counter</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">character</span>
|
|
<span class="ruby-identifier">looping</span> = <span class="ruby-keyword">false</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-identifier">looping</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">or</span> (<span class="ruby-identifier">counter</span> * <span class="ruby-value">-1</span>) <span class="ruby-operator">></span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">length</span>
|
|
<span class="ruby-keyword">break</span>
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-identifier">already_found</span> = <span class="ruby-node">"#{character if character}#{already_found}"</span>
|
|
<span class="ruby-identifier">counter</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-identifier">already_found</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- get_equal_string_end-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- get_equal_string_end-method -->
|
|
|
|
|
|
<div id="method-i-get_metasploit_url" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">get_metasploit_url</span><span
|
|
class="method-args">(module_path)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code" id="get_metasploit_url-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 166</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_metasploit_url</span>(<span class="ruby-identifier">module_path</span>)
|
|
<span class="ruby-comment"># remove leading slash</span>
|
|
<span class="ruby-identifier">module_path</span> = <span class="ruby-identifier">module_path</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r^\//</span>, <span class="ruby-string">''</span>)
|
|
<span class="ruby-node">"http://www.metasploit.com/modules/#{module_path}"</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- get_metasploit_url-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- get_metasploit_url-method -->
|
|
|
|
|
|
<div id="method-i-green" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">green</span><span
|
|
class="method-args">(text)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code" id="green-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 162</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">green</span>(<span class="ruby-identifier">text</span>)
|
|
<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-value">32</span>)
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- green-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- green-method -->
|
|
|
|
|
|
<div id="method-i-help" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">help</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
<p>command help</p>
|
|
|
|
|
|
|
|
<div class="method-source-code" id="help-source">
|
|
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_helper.rb, line 73</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">help</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'Help :'</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'Some values are settable in conf/browser.conf.json :'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' user-agent, proxy, proxy-auth, threads, cache timeout and request timeout'</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--update Update to the latest revision'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--url | -u <target url> The WordPress URL/domain to scan.'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--force | -f Forces WPScan to not check if the remote site is running WordPress.'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--enumerate | -e [option(s)] Enumeration.'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' option :'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' u usernames from id 1 to 10'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' u[10-20] usernames from id 10 to 20 (you must write [] chars)'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' p plugins'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' vp only vulnerable plugins'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' ap all plugins (can take a long time)'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' tt timthumbs'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' t themes'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' vt only vulnerable themes'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' at all themes (can take a long time)'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' Multiple values are allowed : "-e t,p" will enumerate timthumbs and plugins'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' If no option is supplied, the default is "vt,tt,u,vp"'</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--exclude-content-based "<regexp or string>" Used with the enumeration option, will exclude all occurence based on the regexp or string supplied'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--config-file | -c <config file> Use the specified config file'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--follow-redirection If the target url has a redirection, it will be followed without asking if you wanted to do so or not'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--wp-content-dir <wp content dir> WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--wp-plugins-dir <wp plugins dir> Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--proxy <[protocol://]host:port> Supply a proxy (will override the one from conf/browser.conf.json).'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--proxy-auth <username:password> Supply the proxy login credentials (will override the one from conf/browser.conf.json).'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--basic-auth <username:password> Set the HTTP Basic authentification'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--wordlist | -w <wordlist> Supply a wordlist for the password bruter and do the brute.'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--threads | -t <number of threads> The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--username | -U <username> Only brute force the supplied username.'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--help | -h This help screen.'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--verbose | -v Verbose output.'</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- help-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- help-method -->
|
|
|
|
|
|
<div id="method-i-output_vulnerabilities" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">output_vulnerabilities</span><span
|
|
class="method-args">(vulns)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code" id="output_vulnerabilities-source">
|
|
<pre><span class="ruby-comment"># File wpscan.rb, line 24</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">output_vulnerabilities</span>(<span class="ruby-identifier">vulns</span>)
|
|
<span class="ruby-identifier">vulns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">vulnerability</span><span class="ruby-operator">|</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' | '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">red</span>(<span class="ruby-node">"* Title: #{vulnerability.title}"</span>)
|
|
<span class="ruby-identifier">vulnerability</span>.<span class="ruby-identifier">references</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-identifier">puts</span> <span class="ruby-string">' | '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">red</span>(<span class="ruby-node">"* Reference: #{r}"</span>)
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-identifier">vulnerability</span>.<span class="ruby-identifier">metasploit_modules</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">' | '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">red</span>(<span class="ruby-node">"* Metasploit module: #{get_metasploit_url(m)}"</span>)
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- output_vulnerabilities-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- output_vulnerabilities-method -->
|
|
|
|
|
|
<div id="method-i-puts" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">puts</span><span
|
|
class="method-args">(o = '')</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
<p>Override for puts to enable logging</p>
|
|
|
|
|
|
|
|
<div class="method-source-code" id="puts-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 173</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">puts</span>(<span class="ruby-identifier">o</span> = <span class="ruby-string">''</span>)
|
|
<span class="ruby-comment"># remove color for logging</span>
|
|
<span class="ruby-keyword">if</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-string">'gsub'</span>)
|
|
<span class="ruby-identifier">temp</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r\e\[\d+m(.*)?\e\[0m/</span>, <span class="ruby-string">'\1'</span>)
|
|
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-constant">LOG_FILE</span>, <span class="ruby-string">'a+'</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">temp</span>) }
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-keyword">super</span>(<span class="ruby-identifier">o</span>)
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- puts-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- puts-method -->
|
|
|
|
|
|
<div id="method-i-red" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">red</span><span
|
|
class="method-args">(text)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code" id="red-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 158</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">red</span>(<span class="ruby-identifier">text</span>)
|
|
<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-value">31</span>)
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- red-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- red-method -->
|
|
|
|
|
|
<div id="method-i-require_files_from_directory" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">require_files_from_directory</span><span
|
|
class="method-args">(absolute_dir_path, files_pattern = '*.rb')</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
<p>TODO : add an exclude pattern ?</p>
|
|
|
|
|
|
|
|
<div class="method-source-code" id="require_files_from_directory-source">
|
|
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 53</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">require_files_from_directory</span>(<span class="ruby-identifier">absolute_dir_path</span>, <span class="ruby-identifier">files_pattern</span> = <span class="ruby-string">'*.rb'</span>)
|
|
<span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">absolute_dir_path</span>, <span class="ruby-identifier">files_pattern</span>)].<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</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-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">f</span>)
|
|
<span class="ruby-identifier">require</span> <span class="ruby-identifier">f</span>
|
|
<span class="ruby-comment">#puts "require #{f}" # Used for debug</span>
|
|
<span class="ruby-keyword">end</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- require_files_from_directory-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- require_files_from_directory-method -->
|
|
|
|
|
|
<div id="method-i-usage" class="method-detail ">
|
|
|
|
<div class="method-heading">
|
|
<span class="method-name">usage</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
</div>
|
|
|
|
|
|
<div class="method-description">
|
|
|
|
<p>wpscan usage</p>
|
|
|
|
|
|
|
|
<div class="method-source-code" id="usage-source">
|
|
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_helper.rb, line 24</span>
|
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">usage</span>
|
|
<span class="ruby-identifier">script_name</span> = <span class="ruby-identifier">$0</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'Examples :'</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Further help ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --help"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">"-Do 'non-intrusive' checks ..."</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Do wordlist password brute force on enumerated users using 50 threads ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --wordlist darkc0de.lst --threads 50"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">"-Do wordlist password brute force on the 'admin' username only ..."</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --wordlist darkc0de.lst --username admin"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Enumerate installed plugins ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --enumerate p"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Enumerate installed themes ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --enumerate t"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Enumerate users ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --enumerate u"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Enumerate installed timthumbs ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --enumerate tt"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Use a HTTP proxy ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --proxy 127.0.0.1:8118"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Use a SOCKS5 proxy ... (cURL >= v7.21.7 needed)'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --proxy socks5://127.0.0.1:9000"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Use custom content directory ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} -u www.example.com --wp-content-dir custom-content"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Use custom plugins directory ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} -u www.example.com --wp-plugins-dir wp-content/custom-plugins"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Update ...'</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --update"</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">'See README for further information.'</span>
|
|
<span class="ruby-identifier">puts</span>
|
|
<span class="ruby-keyword">end</span></pre>
|
|
</div><!-- usage-source -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div><!-- usage-method -->
|
|
|
|
|
|
</section><!-- public-instance-method-details -->
|
|
|
|
</section><!-- 5Buntitled-5D -->
|
|
|
|
</div><!-- documentation -->
|
|
|
|
|
|
<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>
|
|
|