Files
wpscan/doc_yard/WpVersion/Findable.html
Christian Mehlmauer cd5b45f98b docs
2013-06-09 16:07:04 +02:00

1401 lines
40 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Module: WpVersion::Findable
&mdash; Documentation by YARD 0.8.6.1
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
<script type="text/javascript" charset="utf-8">
hasFrames = window.top.frames.main ? true : false;
relpath = '../';
framesUrl = "../frames.html#!" + escape(window.location.href);
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div id="header">
<div id="menu">
<a href="../_index.html">Index (F)</a> &raquo;
<span class='title'><span class='object_link'><a href="../WpVersion.html" title="WpVersion (class)">WpVersion</a></span></span>
&raquo;
<span class="title">Findable</span>
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../class_list.html">
Class List
</a>
<a class="full_list_link" id="method_list_link"
href="../method_list.html">
Method List
</a>
<a class="full_list_link" id="file_list_link"
href="../file_list.html">
File List
</a>
</div>
<div class="clear"></div>
</div>
<iframe id="search_frame"></iframe>
<div id="content"><h1>Module: WpVersion::Findable
</h1>
<dl class="box">
<dt class="r1">Included in:</dt>
<dd class="r1"><span class='object_link'><a href="../WpVersion.html" title="WpVersion (class)">WpVersion</a></span></dd>
<dt class="r2 last">Defined in:</dt>
<dd class="r2 last">lib/common/models/wp_version/findable.rb</dd>
</dl>
<div class="clear"></div>
<h2>
Instance Method Summary
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#find-instance_method" title="#find (instance method)">- (WpVersion) <strong>find</strong>(target_uri, wp_content_dir, wp_plugins_dir, versions_xml) </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Find the version of the blog designated from target_uri.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#find_from_advanced_fingerprinting-instance_method" title="#find_from_advanced_fingerprinting (instance method)">- (String) <strong>find_from_advanced_fingerprinting</strong>(target_uri, wp_content_dir, wp_plugins_dir, versions_xml) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Uses data/wp_versions.xml to try to identify a wordpress version.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#find_from_atom_generator-instance_method" title="#find_from_atom_generator (instance method)">- (String) <strong>find_from_atom_generator</strong>(target_uri) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Attempts to find the WordPress version from, the generator tag in the Atom
source.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#find_from_links_opml-instance_method" title="#find_from_links_opml (instance method)">- (String) <strong>find_from_links_opml</strong>(target_uri) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Attempts to find the WordPress version from the p-links-opml.php file.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#find_from_meta_generator-instance_method" title="#find_from_meta_generator (instance method)">- (String) <strong>find_from_meta_generator</strong>(target_uri) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Attempts to find the wordpress version from, the generator meta tag in the
html source.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#find_from_rdf_generator-instance_method" title="#find_from_rdf_generator (instance method)">- (String) <strong>find_from_rdf_generator</strong>(target_uri) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Attempts to find WordPress version from, the generator tag in the RDF feed
source.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#find_from_readme-instance_method" title="#find_from_readme (instance method)">- (String) <strong>find_from_readme</strong>(target_uri) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Attempts to find the WordPress version from the readme.html file.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#find_from_rss_generator-instance_method" title="#find_from_rss_generator (instance method)">- (String) <strong>find_from_rss_generator</strong>(target_uri) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Attempts to find the WordPress version from, the generator tag in the RSS
feed source.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#find_from_sitemap_generator-instance_method" title="#find_from_sitemap_generator (instance method)">- (String) <strong>find_from_sitemap_generator</strong>(target_uri) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Attempts to find the WordPress version from the sitemap.xml file.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#scan_url-instance_method" title="#scan_url (instance method)">- (String) <strong>scan_url</strong>(target_uri, pattern, path = nil) </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the first match of in the body of the url.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#version_pattern-instance_method" title="#version_pattern (instance method)">- (String) <strong>version_pattern</strong> </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Used to check if the version is correct: must contain at least one dot.</p>
</div></span>
</li>
</ul>
<div id="instance_method_details" class="method_details_list">
<h2>Instance Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="find-instance_method">
- (<tt><span class='object_link'><a href="../WpVersion.html" title="WpVersion (class)">WpVersion</a></span></tt>) <strong>find</strong>(target_uri, wp_content_dir, wp_plugins_dir, versions_xml)
</h3><div class="docstring">
<div class="discussion">
<p>Find the version of the blog designated from target_uri</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
<li>
<span class='name'>wp_content_dir</span>
<span class='type'>(<tt>String</tt>)</span>
</li>
<li>
<span class='name'>wp_plugins_dir</span>
<span class='type'>(<tt>String</tt>)</span>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="../WpVersion.html" title="WpVersion (class)">WpVersion</a></span></tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 14</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span> <span class='id identifier rubyid_wp_content_dir'>wp_content_dir</span><span class='comma'>,</span> <span class='id identifier rubyid_wp_plugins_dir'>wp_plugins_dir</span><span class='comma'>,</span> <span class='id identifier rubyid_versions_xml'>versions_xml</span><span class='rparen'>)</span>
<span class='id identifier rubyid_methods'>methods</span><span class='period'>.</span><span class='id identifier rubyid_grep'>grep</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>find_from_</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_method'>method</span><span class='op'>|</span>
<span class='kw'>if</span> <span class='id identifier rubyid_method'>method</span> <span class='op'>===</span> <span class='symbol'>:find_from_advanced_fingerprinting</span>
<span class='id identifier rubyid_version'>version</span> <span class='op'>=</span> <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span> <span class='id identifier rubyid_wp_content_dir'>wp_content_dir</span><span class='comma'>,</span> <span class='id identifier rubyid_wp_plugins_dir'>wp_plugins_dir</span><span class='comma'>,</span> <span class='id identifier rubyid_versions_xml'>versions_xml</span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_version'>version</span> <span class='op'>=</span> <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='id identifier rubyid_target_uri'>target_uri</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>if</span> <span class='id identifier rubyid_version'>version</span>
<span class='kw'>return</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span> <span class='label'>number:</span> <span class='id identifier rubyid_version'>version</span><span class='comma'>,</span> <span class='label'>found_from:</span> <span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>nil</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="find_from_advanced_fingerprinting-instance_method">
- (<tt>String</tt>) <strong>find_from_advanced_fingerprinting</strong>(target_uri, wp_content_dir, wp_plugins_dir, versions_xml) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Uses data/wp_versions.xml to try to identify a wordpress version.</p>
<p>It does this by using client side file hashing</p>
<p>/!\ Warning : this method might return false positive if the file used for
fingerprinting is part of a theme (they can be updated)</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
<li>
<span class='name'>wp_content_dir</span>
<span class='type'>(<tt>String</tt>)</span>
</li>
<li>
<span class='name'>wp_plugins_dir</span>
<span class='type'>(<tt>String</tt>)</span>
</li>
<li>
<span class='name'>versions_xml</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The path to the xml containing all versions</p>
</div>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The version number</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 154</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find_from_advanced_fingerprinting'>find_from_advanced_fingerprinting</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span> <span class='id identifier rubyid_wp_content_dir'>wp_content_dir</span><span class='comma'>,</span> <span class='id identifier rubyid_wp_plugins_dir'>wp_plugins_dir</span><span class='comma'>,</span> <span class='id identifier rubyid_versions_xml'>versions_xml</span><span class='rparen'>)</span>
<span class='id identifier rubyid_xml'>xml</span> <span class='op'>=</span> <span class='id identifier rubyid_xml'>xml</span><span class='lparen'>(</span><span class='id identifier rubyid_versions_xml'>versions_xml</span><span class='rparen'>)</span>
<span class='comment'># This wp_item will take care of encoding the path
</span> <span class='comment'># and replace variables like $wp-content$ &amp; $wp-plugins$
</span> <span class='id identifier rubyid_wp_item'>wp_item</span> <span class='op'>=</span> <span class='const'>WpItem</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span>
<span class='label'>wp_content_dir:</span> <span class='id identifier rubyid_wp_content_dir'>wp_content_dir</span><span class='comma'>,</span>
<span class='label'>wp_plugins_dir:</span> <span class='id identifier rubyid_wp_plugins_dir'>wp_plugins_dir</span><span class='rparen'>)</span>
<span class='id identifier rubyid_xml'>xml</span><span class='period'>.</span><span class='id identifier rubyid_xpath'>xpath</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>//file</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_node'>node</span><span class='op'>|</span>
<span class='id identifier rubyid_wp_item'>wp_item</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_attribute'>attribute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>src</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span>
<span class='id identifier rubyid_response'>response</span> <span class='op'>=</span> <span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_wp_item'>wp_item</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
<span class='id identifier rubyid_md5sum'>md5sum</span> <span class='op'>=</span> <span class='const'>Digest</span><span class='op'>::</span><span class='const'>MD5</span><span class='period'>.</span><span class='id identifier rubyid_hexdigest'>hexdigest</span><span class='lparen'>(</span><span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_body'>body</span><span class='rparen'>)</span>
<span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>hash</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span>
<span class='kw'>if</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_attribute'>attribute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>md5</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span> <span class='op'>==</span> <span class='id identifier rubyid_md5sum'>md5sum</span>
<span class='kw'>return</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_search'>search</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>version</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_text'>text</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>nil</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="find_from_atom_generator-instance_method">
- (<tt>String</tt>) <strong>find_from_atom_generator</strong>(target_uri) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Attempts to find the WordPress version from, the generator tag in the Atom
source.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The version number</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
121
122
123
124
125
126
127</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 121</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find_from_atom_generator'>find_from_atom_generator</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='rparen'>)</span>
<span class='id identifier rubyid_scan_url'>scan_url</span><span class='lparen'>(</span>
<span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span>
<span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>&lt;generator uri=&quot;http://wordpress.org/&quot; version=&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_version_pattern'>version_pattern</span><span class='rbrace'>}</span><span class='tstring_content'>&quot;&gt;WordPress&lt;/generator&gt;</span><span class='regexp_end'>}i</span></span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>feed/atom/</span><span class='tstring_end'>'</span></span>
<span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="find_from_links_opml-instance_method">
- (<tt>String</tt>) <strong>find_from_links_opml</strong>(target_uri) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Attempts to find the WordPress version from the p-links-opml.php file.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The version number</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
211
212
213
214
215
216
217</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 211</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find_from_links_opml'>find_from_links_opml</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='rparen'>)</span>
<span class='id identifier rubyid_scan_url'>scan_url</span><span class='lparen'>(</span>
<span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span>
<span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>generator=&quot;wordpress/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_version_pattern'>version_pattern</span><span class='rbrace'>}</span><span class='tstring_content'>&quot;</span><span class='regexp_end'>}i</span></span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wp-links-opml.php</span><span class='tstring_end'>'</span></span>
<span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="find_from_meta_generator-instance_method">
- (<tt>String</tt>) <strong>find_from_meta_generator</strong>(target_uri) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Attempts to find the wordpress version from, the generator meta tag in the
html source.</p>
<p>The meta tag can be removed however it seems, that it is reinstated on
upgrade.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The version number</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
68
69
70
71
72
73</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 68</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find_from_meta_generator'>find_from_meta_generator</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='rparen'>)</span>
<span class='id identifier rubyid_scan_url'>scan_url</span><span class='lparen'>(</span>
<span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span>
<span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>name=&quot;generator&quot; content=&quot;wordpress </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_version_pattern'>version_pattern</span><span class='rbrace'>}</span><span class='tstring_content'>&quot;</span><span class='regexp_end'>}i</span></span>
<span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="find_from_rdf_generator-instance_method">
- (<tt>String</tt>) <strong>find_from_rdf_generator</strong>(target_uri) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Attempts to find WordPress version from, the generator tag in the RDF feed
source.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The version number</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
95
96
97
98
99
100
101</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 95</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find_from_rdf_generator'>find_from_rdf_generator</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='rparen'>)</span>
<span class='id identifier rubyid_scan_url'>scan_url</span><span class='lparen'>(</span>
<span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span>
<span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>&lt;admin:generatorAgent rdf:resource=&quot;http://wordpress.org/\?v=</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_version_pattern'>version_pattern</span><span class='rbrace'>}</span><span class='tstring_content'>&quot; /&gt;</span><span class='regexp_end'>}i</span></span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>feed/rdf/</span><span class='tstring_end'>'</span></span>
<span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="find_from_readme-instance_method">
- (<tt>String</tt>) <strong>find_from_readme</strong>(target_uri) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Attempts to find the WordPress version from the readme.html file.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The version number</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
183
184
185
186
187
188
189</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 183</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find_from_readme'>find_from_readme</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='rparen'>)</span>
<span class='id identifier rubyid_scan_url'>scan_url</span><span class='lparen'>(</span>
<span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span>
<span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>&lt;br /&gt;\sversion </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_version_pattern'>version_pattern</span><span class='rbrace'>}</span><span class='regexp_end'>}i</span></span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>readme.html</span><span class='tstring_end'>'</span></span>
<span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="find_from_rss_generator-instance_method">
- (<tt>String</tt>) <strong>find_from_rss_generator</strong>(target_uri) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Attempts to find the WordPress version from, the generator tag in the RSS
feed source.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The version number</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
81
82
83
84
85
86
87</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 81</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find_from_rss_generator'>find_from_rss_generator</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='rparen'>)</span>
<span class='id identifier rubyid_scan_url'>scan_url</span><span class='lparen'>(</span>
<span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span>
<span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>&lt;generator&gt;http://wordpress.org/\?v=</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_version_pattern'>version_pattern</span><span class='rbrace'>}</span><span class='tstring_content'>&lt;/generator&gt;</span><span class='regexp_end'>}i</span></span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>feed/</span><span class='tstring_end'>'</span></span>
<span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="find_from_sitemap_generator-instance_method">
- (<tt>String</tt>) <strong>find_from_sitemap_generator</strong>(target_uri) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Attempts to find the WordPress version from the sitemap.xml file.</p>
<p>See: <a
href="http://code.google.com/p/wpscan/issues/detail?id=109">code.google.com/p/wpscan/issues/detail?id=109</a></p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The version number</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
198
199
200
201
202
203
204</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 198</span>
<span class='kw'>def</span> <span class='id identifier rubyid_find_from_sitemap_generator'>find_from_sitemap_generator</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='rparen'>)</span>
<span class='id identifier rubyid_scan_url'>scan_url</span><span class='lparen'>(</span>
<span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span>
<span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>generator=&quot;wordpress/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_version_pattern'>version_pattern</span><span class='rbrace'>}</span><span class='tstring_content'>&quot;</span><span class='regexp_end'>}i</span></span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>sitemap.xml</span><span class='tstring_end'>'</span></span>
<span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="scan_url-instance_method">
- (<tt>String</tt>) <strong>scan_url</strong>(target_uri, pattern, path = nil) <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the first match of &lt;pattern&gt; in the body of the url</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>target_uri</span>
<span class='type'>(<tt><span class='object_link'><a href="../URI.html" title="URI (module)">URI</a></span></tt>)</span>
</li>
<li>
<span class='name'>pattern</span>
<span class='type'>(<tt>Regex</tt>)</span>
</li>
<li>
<span class='name'>path</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>nil</tt>)</em>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
46
47
48
49
50
51</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 46</span>
<span class='kw'>def</span> <span class='id identifier rubyid_scan_url'>scan_url</span><span class='lparen'>(</span><span class='id identifier rubyid_target_uri'>target_uri</span><span class='comma'>,</span> <span class='id identifier rubyid_pattern'>pattern</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
<span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>?</span> <span class='id identifier rubyid_target_uri'>target_uri</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>:</span> <span class='id identifier rubyid_target_uri'>target_uri</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
<span class='id identifier rubyid_response'>response</span> <span class='op'>=</span> <span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_get_and_follow_location'>get_and_follow_location</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
<span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_body'>body</span><span class='lbracket'>[</span><span class='id identifier rubyid_pattern'>pattern</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="version_pattern-instance_method">
- (<tt>String</tt>) <strong>version_pattern</strong>
</h3><div class="docstring">
<div class="discussion">
<p>Used to check if the version is correct: must contain at least one dot.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
33
34
35</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/common/models/wp_version/findable.rb', line 33</span>
<span class='kw'>def</span> <span class='id identifier rubyid_version_pattern'>version_pattern</span>
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>([^\r\n&quot;\']+\.[^\r\n&quot;\']+)</span><span class='tstring_end'>'</span></span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Sun Jun 9 16:05:16 2013 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.8.6.1 (ruby-1.9.3).
</div>
</body>
</html>