wpscan 3.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +3 -3
- data/README.md +1 -1
- data/app/models/wp_item.rb +15 -1
- data/app/views/cli/enumeration/plugins.erb +1 -16
- data/app/views/cli/theme.erb +1 -16
- data/app/views/cli/wp_item.erb +22 -0
- data/app/views/json/enumeration/plugins.erb +1 -6
- data/app/views/json/theme.erb +1 -7
- data/app/views/json/wp_item.erb +9 -0
- data/coverage/index.html +303 -201
- data/lib/wpscan.rb +4 -1
- data/lib/wpscan/version.rb +1 -1
- data/pkg/wpscan-3.0.gem +0 -0
- data/wpscan-v3.sublime-workspace +189 -41
- data/wpscan.gemspec +1 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cce30033901db0ba94410aa02b7e73e0bc404cfa
|
4
|
+
data.tar.gz: ad5c0a88781e08b57c85f853f382b216898309a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 701893ea7370d17011b5b88e10cf087454ec382393032cbd2755ccc405be44ad662b3cf7888fa651cf5f100c79ba89a90fc46a5f0d67c1d777590f0ec2a60075
|
7
|
+
data.tar.gz: dedbfef9d00d9c8117803359af9606560c7edd3b9be7460a79aa927db1d4a254707dbc32d83b598a354376396d1022544e8aa9048025b1381fb6254b927a3410
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
wpscan (3.0)
|
4
|
+
wpscan (3.0.1)
|
5
5
|
activesupport (~> 5.0.1.0)
|
6
|
-
cms_scanner (~> 0.0.37.
|
6
|
+
cms_scanner (~> 0.0.37.8)
|
7
7
|
dm-constraints (~> 1.2.0)
|
8
8
|
dm-core (~> 1.2.0)
|
9
9
|
dm-migrations (~> 1.2.0)
|
@@ -21,7 +21,7 @@ GEM
|
|
21
21
|
addressable (2.5.0)
|
22
22
|
public_suffix (~> 2.0, >= 2.0.2)
|
23
23
|
ast (2.3.0)
|
24
|
-
cms_scanner (0.0.37.
|
24
|
+
cms_scanner (0.0.37.8)
|
25
25
|
activesupport (~> 5.0.1)
|
26
26
|
addressable (~> 2.5.0)
|
27
27
|
nokogiri (~> 1.7.0.1)
|
data/README.md
CHANGED
data/app/models/wp_item.rb
CHANGED
@@ -55,7 +55,7 @@ module WPScan
|
|
55
55
|
|
56
56
|
# @return [ String ]
|
57
57
|
def latest_version
|
58
|
-
@latest_version ||= db_data['latest_version']
|
58
|
+
@latest_version ||= db_data['latest_version'] ? WPScan::Version.new(db_data['latest_version']) : nil
|
59
59
|
end
|
60
60
|
|
61
61
|
# Not used anywhere ATM
|
@@ -64,6 +64,20 @@ module WPScan
|
|
64
64
|
@popular ||= db_data['popular']
|
65
65
|
end
|
66
66
|
|
67
|
+
# @return [ String ]
|
68
|
+
def last_updated
|
69
|
+
@last_updated ||= db_data['last_updated']
|
70
|
+
end
|
71
|
+
|
72
|
+
# @return [ Boolean ]
|
73
|
+
def outdated?
|
74
|
+
@outdated ||= if version && latest_version
|
75
|
+
version < latest_version
|
76
|
+
else
|
77
|
+
false
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
67
81
|
# URI.encode is preferered over Addressable::URI.encode as it will encode
|
68
82
|
# leading # character:
|
69
83
|
# URI.encode('#t#') => %23t%23
|
@@ -6,22 +6,7 @@
|
|
6
6
|
<% @plugins.each do |plugin| -%>
|
7
7
|
|
8
8
|
<%= info_icon %> <%= plugin %>
|
9
|
-
|
10
|
-
<% if plugin.latest_version -%>
|
11
|
-
| Latest Version: <%= plugin.latest_version %>
|
12
|
-
<% end -%>
|
13
|
-
<% if plugin.readme_url -%>
|
14
|
-
| Readme: <%= plugin.readme_url %>
|
15
|
-
<% end -%>
|
16
|
-
<% if plugin.changelog_url -%>
|
17
|
-
| Changelog: <%= plugin.changelog_url %>
|
18
|
-
<% end -%>
|
19
|
-
<% if plugin.directory_listing? -%>
|
20
|
-
| <%= critical_icon %> Directory listing is enabled
|
21
|
-
<% end -%>
|
22
|
-
<% if plugin.error_log? -%>
|
23
|
-
| <%= critical_icon %> An error log file has been found: <%= plugin.url('error_log') %>
|
24
|
-
<% end -%>
|
9
|
+
<%= render('@wp_item', wp_item: plugin) -%>
|
25
10
|
|
|
26
11
|
<%= render('@finding', item: plugin) -%>
|
27
12
|
|
|
data/app/views/cli/theme.erb
CHANGED
@@ -1,19 +1,4 @@
|
|
1
|
-
|
2
|
-
<% if @theme.latest_version -%>
|
3
|
-
| Latest Version: <%= @theme.latest_version %>
|
4
|
-
<% end -%>
|
5
|
-
<% if @theme.readme_url -%>
|
6
|
-
| Readme: <%= @theme.readme_url %>
|
7
|
-
<% end -%>
|
8
|
-
<% if @theme.changelog_url -%>
|
9
|
-
| Changelog: <%= @theme.changelog_url %>
|
10
|
-
<% end -%>
|
11
|
-
<% if @theme.directory_listing? -%>
|
12
|
-
| <%= critical_icon %> Directory listing is enabled
|
13
|
-
<% end -%>
|
14
|
-
<% if @theme.error_log? -%>
|
15
|
-
| <%= critical_icon %> An error log file has been found: <%= @theme.url('error_log') %>
|
16
|
-
<% end -%>
|
1
|
+
<%= render('@wp_item', wp_item: @theme) -%>
|
17
2
|
| Style URL: <%= @theme.style_url %>
|
18
3
|
<% if @theme.style_name -%>
|
19
4
|
| Style Name: <%= @theme.style_name %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
| Location: <%= @wp_item.url %>
|
2
|
+
<% if @wp_item.latest_version && !@wp_item.outdated? -%>
|
3
|
+
| Latest Version: <%= @wp_item.latest_version %><% if @wp_item.version %> (up to date)<% end %>
|
4
|
+
<% end -%>
|
5
|
+
<% if @wp_item.last_updated -%>
|
6
|
+
| Last Updated: <%= @wp_item.last_updated %>
|
7
|
+
<% end -%>
|
8
|
+
<% if @wp_item.readme_url -%>
|
9
|
+
| Readme: <%= @wp_item.readme_url %>
|
10
|
+
<% end -%>
|
11
|
+
<% if @wp_item.changelog_url -%>
|
12
|
+
| Changelog: <%= @wp_item.changelog_url %>
|
13
|
+
<% end -%>
|
14
|
+
<% if @wp_item.latest_version && @wp_item.outdated? -%>
|
15
|
+
| <%= warning_icon %> The version is out of date, the latest version is <%= @wp_item.latest_version %>
|
16
|
+
<% end -%>
|
17
|
+
<% if @wp_item.directory_listing? -%>
|
18
|
+
| <%= critical_icon %> Directory listing is enabled
|
19
|
+
<% end -%>
|
20
|
+
<% if @wp_item.error_log? -%>
|
21
|
+
| <%= critical_icon %> An error log file has been found: <%= @wp_item.url('error_log') %>
|
22
|
+
<% end -%>
|
@@ -3,12 +3,7 @@
|
|
3
3
|
<% last_index = @plugins.size - 1 -%>
|
4
4
|
<% @plugins.each_with_index do |plugin, index| -%>
|
5
5
|
<%= plugin.name.to_json %>: {
|
6
|
-
|
7
|
-
"latest_version": <%= plugin.latest_version.to_json %>,
|
8
|
-
"readme_url": <%= plugin.readme_url.to_json %>,
|
9
|
-
"changelog_url": <%= plugin.changelog_url.to_json %>,
|
10
|
-
"directory_listing": <%= plugin.directory_listing?.to_json %>,
|
11
|
-
"error_log_url": <% if plugin.error_log? %><%= plugin.url('error_log').to_json %><% else %>null<% end %>,
|
6
|
+
<%= render('@wp_item', wp_item: plugin) %>,
|
12
7
|
<%= render('@finding', item: plugin) -%>,
|
13
8
|
<% if plugin.version -%>
|
14
9
|
"version": {
|
data/app/views/json/theme.erb
CHANGED
@@ -1,10 +1,4 @@
|
|
1
|
-
|
2
|
-
"location": <%= @theme.url.to_json %>,
|
3
|
-
"latest_version": <%= @theme.latest_version.to_json %>,
|
4
|
-
"readme_url": <%= @theme.readme_url.to_json %>,
|
5
|
-
"changelog_url": <%= @theme.changelog_url.to_json %>,
|
6
|
-
"directory_listing": <%= @theme.directory_listing?.to_json %>,
|
7
|
-
"error_log_url": <% if @theme.error_log? %><%= @theme.url('error_log').to_json %><% else %>null<% end %>,
|
1
|
+
<%= render('@wp_item', wp_item: @theme) %>,
|
8
2
|
"style_url": <%= @theme.style_url.to_json %>,
|
9
3
|
"style_name": <%= @theme.style_name.to_json %>,
|
10
4
|
"style_uri": <%= @theme.style_uri.to_json %>,
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"name": <%= @wp_item.name.to_json %>,
|
2
|
+
"location": <%= @wp_item.url.to_json %>,
|
3
|
+
"latest_version": <%= @wp_item.latest_version ? @wp_item.latest_version.number.to_json : nil.to_json %>,
|
4
|
+
"last_updated": <%= @wp_item.last_updated.to_json %>,
|
5
|
+
"outdated": <%= @wp_item.outdated?.to_json %>,
|
6
|
+
"readme_url": <%= @wp_item.readme_url.to_json %>,
|
7
|
+
"changelog_url": <%= @wp_item.changelog_url.to_json %>,
|
8
|
+
"directory_listing": <%= @wp_item.directory_listing?.to_json %>,
|
9
|
+
"error_log_url": <% if @wp_item.error_log? %><%= @wp_item.url('error_log').to_json %><% else %>null<% end %>
|
data/coverage/index.html
CHANGED
@@ -14,26 +14,26 @@
|
|
14
14
|
<img src="./assets/0.10.0/loading.gif" alt="loading"/>
|
15
15
|
</div>
|
16
16
|
<div id="wrapper" style="display:none;">
|
17
|
-
<div class="timestamp">Generated <abbr class="timeago" title="2017-01-
|
17
|
+
<div class="timestamp">Generated <abbr class="timeago" title="2017-01-28T17:33:26+00:00">2017-01-28T17:33:26+00:00</abbr></div>
|
18
18
|
<ul class="group_tabs"></ul>
|
19
19
|
|
20
20
|
<div id="content">
|
21
21
|
<div class="file_list_container" id="AllFiles">
|
22
22
|
<h2>
|
23
23
|
<span class="group_name">All Files</span>
|
24
|
-
(<span class="covered_percent"><span class="yellow">82.
|
24
|
+
(<span class="covered_percent"><span class="yellow">82.88%</span></span>
|
25
25
|
covered at
|
26
26
|
<span class="covered_strength">
|
27
27
|
<span class="green">
|
28
|
-
16.
|
28
|
+
16.47
|
29
29
|
</span>
|
30
30
|
</span> hits/line)
|
31
31
|
</h2>
|
32
32
|
<a name="AllFiles"></a>
|
33
33
|
<div>
|
34
34
|
<b>108</b> files in total.
|
35
|
-
<b>
|
36
|
-
<span class="green"><b>
|
35
|
+
<b>1618</b> relevant lines.
|
36
|
+
<span class="green"><b>1341</b> lines covered</span> and
|
37
37
|
<span class="red"><b>277</b> lines missed </span>
|
38
38
|
</div>
|
39
39
|
<table class="file_list">
|
@@ -257,7 +257,7 @@
|
|
257
257
|
<td>12</td>
|
258
258
|
<td>12</td>
|
259
259
|
<td>0</td>
|
260
|
-
<td>
|
260
|
+
<td>2.8</td>
|
261
261
|
</tr>
|
262
262
|
|
263
263
|
<tr>
|
@@ -377,7 +377,7 @@
|
|
377
377
|
<td>13</td>
|
378
378
|
<td>13</td>
|
379
379
|
<td>0</td>
|
380
|
-
<td>
|
380
|
+
<td>4.1</td>
|
381
381
|
</tr>
|
382
382
|
|
383
383
|
<tr>
|
@@ -387,7 +387,7 @@
|
|
387
387
|
<td>33</td>
|
388
388
|
<td>33</td>
|
389
389
|
<td>0</td>
|
390
|
-
<td>
|
390
|
+
<td>77.4</td>
|
391
391
|
</tr>
|
392
392
|
|
393
393
|
<tr>
|
@@ -797,7 +797,7 @@
|
|
797
797
|
<td>10</td>
|
798
798
|
<td>10</td>
|
799
799
|
<td>0</td>
|
800
|
-
<td>
|
800
|
+
<td>62.8</td>
|
801
801
|
</tr>
|
802
802
|
|
803
803
|
<tr>
|
@@ -807,7 +807,7 @@
|
|
807
807
|
<td>37</td>
|
808
808
|
<td>35</td>
|
809
809
|
<td>2</td>
|
810
|
-
<td>80.
|
810
|
+
<td>80.9</td>
|
811
811
|
</tr>
|
812
812
|
|
813
813
|
<tr>
|
@@ -832,12 +832,12 @@
|
|
832
832
|
|
833
833
|
<tr>
|
834
834
|
<td class="strong"><a href="#66e55c6afef8eb3f7f5760fdb675fffe42be4db9" class="src_link" title="app/models/wp_item.rb">app/models/wp_item.rb</a></td>
|
835
|
-
<td class="green strong">98.
|
836
|
-
<td>
|
837
|
-
<td>
|
838
|
-
<td>
|
835
|
+
<td class="green strong">98.46 %</td>
|
836
|
+
<td>156</td>
|
837
|
+
<td>65</td>
|
838
|
+
<td>64</td>
|
839
839
|
<td>1</td>
|
840
|
-
<td>
|
840
|
+
<td>109.4</td>
|
841
841
|
</tr>
|
842
842
|
|
843
843
|
<tr>
|
@@ -863,7 +863,7 @@
|
|
863
863
|
<tr>
|
864
864
|
<td class="strong"><a href="#d34ffdcc4fec57d1e9e9196b9cc1a435beb7d9ff" class="src_link" title="lib/wpscan.rb">lib/wpscan.rb</a></td>
|
865
865
|
<td class="green strong">100.0 %</td>
|
866
|
-
<td>
|
866
|
+
<td>47</td>
|
867
867
|
<td>30</td>
|
868
868
|
<td>30</td>
|
869
869
|
<td>0</td>
|
@@ -987,7 +987,7 @@
|
|
987
987
|
<td>7</td>
|
988
988
|
<td>7</td>
|
989
989
|
<td>0</td>
|
990
|
-
<td>
|
990
|
+
<td>16.4</td>
|
991
991
|
</tr>
|
992
992
|
|
993
993
|
<tr>
|
@@ -1107,7 +1107,7 @@
|
|
1107
1107
|
<td>42</td>
|
1108
1108
|
<td>42</td>
|
1109
1109
|
<td>0</td>
|
1110
|
-
<td>
|
1110
|
+
<td>63.0</td>
|
1111
1111
|
</tr>
|
1112
1112
|
|
1113
1113
|
<tr>
|
@@ -7160,14 +7160,14 @@
|
|
7160
7160
|
<code class="ruby"> potential_files.each do |file|</code>
|
7161
7161
|
</li>
|
7162
7162
|
|
7163
|
-
<li class="covered" data-hits="
|
7164
|
-
<span class="hits">
|
7163
|
+
<li class="covered" data-hits="6" data-linenumber="9">
|
7164
|
+
<span class="hits">6</span>
|
7165
7165
|
|
7166
7166
|
<code class="ruby"> url = target.url(file)</code>
|
7167
7167
|
</li>
|
7168
7168
|
|
7169
|
-
<li class="covered" data-hits="
|
7170
|
-
<span class="hits">
|
7169
|
+
<li class="covered" data-hits="6" data-linenumber="10">
|
7170
|
+
<span class="hits">6</span>
|
7171
7171
|
|
7172
7172
|
<code class="ruby"> res = Browser.get(url)</code>
|
7173
7173
|
</li>
|
@@ -7178,8 +7178,8 @@
|
|
7178
7178
|
<code class="ruby"></code>
|
7179
7179
|
</li>
|
7180
7180
|
|
7181
|
-
<li class="covered" data-hits="
|
7182
|
-
<span class="hits">
|
7181
|
+
<li class="covered" data-hits="6" data-linenumber="12">
|
7182
|
+
<span class="hits">6</span>
|
7183
7183
|
|
7184
7184
|
<code class="ruby"> if res.code == 200 && res.body =~ /wordpress/i</code>
|
7185
7185
|
</li>
|
@@ -9506,8 +9506,8 @@
|
|
9506
9506
|
<code class="ruby"> potential_urls.each do |url|</code>
|
9507
9507
|
</li>
|
9508
9508
|
|
9509
|
-
<li class="covered" data-hits="
|
9510
|
-
<span class="hits">
|
9509
|
+
<li class="covered" data-hits="8" data-linenumber="14">
|
9510
|
+
<span class="hits">8</span>
|
9511
9511
|
|
9512
9512
|
<code class="ruby"> res = Browser.get(url)</code>
|
9513
9513
|
</li>
|
@@ -9518,8 +9518,8 @@
|
|
9518
9518
|
<code class="ruby"></code>
|
9519
9519
|
</li>
|
9520
9520
|
|
9521
|
-
<li class="covered" data-hits="
|
9522
|
-
<span class="hits">
|
9521
|
+
<li class="covered" data-hits="8" data-linenumber="16">
|
9522
|
+
<span class="hits">8</span>
|
9523
9523
|
|
9524
9524
|
<code class="ruby"> next unless res.code == 200 && res.body =~ /Project-Id-Version: LayerSlider WP v?([0-9\.][^\\\s]+)/</code>
|
9525
9525
|
</li>
|
@@ -9746,14 +9746,14 @@
|
|
9746
9746
|
<code class="ruby"> WPScan::WpItem::READMES.each do |file|</code>
|
9747
9747
|
</li>
|
9748
9748
|
|
9749
|
-
<li class="covered" data-hits="
|
9750
|
-
<span class="hits">
|
9749
|
+
<li class="covered" data-hits="79" data-linenumber="11">
|
9750
|
+
<span class="hits">79</span>
|
9751
9751
|
|
9752
9752
|
<code class="ruby"> url = target.url(file)</code>
|
9753
9753
|
</li>
|
9754
9754
|
|
9755
|
-
<li class="covered" data-hits="
|
9756
|
-
<span class="hits">
|
9755
|
+
<li class="covered" data-hits="79" data-linenumber="12">
|
9756
|
+
<span class="hits">79</span>
|
9757
9757
|
|
9758
9758
|
<code class="ruby"> res = Browser.get(url)</code>
|
9759
9759
|
</li>
|
@@ -9764,8 +9764,8 @@
|
|
9764
9764
|
<code class="ruby"></code>
|
9765
9765
|
</li>
|
9766
9766
|
|
9767
|
-
<li class="covered" data-hits="
|
9768
|
-
<span class="hits">
|
9767
|
+
<li class="covered" data-hits="79" data-linenumber="14">
|
9768
|
+
<span class="hits">79</span>
|
9769
9769
|
|
9770
9770
|
<code class="ruby"> next unless res.code == 200 && !(numbers = version_numbers(res.body)).empty?</code>
|
9771
9771
|
</li>
|
@@ -18974,8 +18974,8 @@
|
|
18974
18974
|
<code class="ruby"> def initialize(name, target, opts = {})</code>
|
18975
18975
|
</li>
|
18976
18976
|
|
18977
|
-
<li class="covered" data-hits="
|
18978
|
-
<span class="hits">
|
18977
|
+
<li class="covered" data-hits="299" data-linenumber="6">
|
18978
|
+
<span class="hits">299</span>
|
18979
18979
|
|
18980
18980
|
<code class="ruby"> super(name, target, opts)</code>
|
18981
18981
|
</li>
|
@@ -18986,8 +18986,8 @@
|
|
18986
18986
|
<code class="ruby"></code>
|
18987
18987
|
</li>
|
18988
18988
|
|
18989
|
-
<li class="covered" data-hits="
|
18990
|
-
<span class="hits">
|
18989
|
+
<li class="covered" data-hits="299" data-linenumber="8">
|
18990
|
+
<span class="hits">299</span>
|
18991
18991
|
|
18992
18992
|
<code class="ruby"> @uri = Addressable::URI.parse(target.url("wp-content/plugins/#{name}/"))</code>
|
18993
18993
|
</li>
|
@@ -19016,8 +19016,8 @@
|
|
19016
19016
|
<code class="ruby"> def db_data</code>
|
19017
19017
|
</li>
|
19018
19018
|
|
19019
|
-
<li class="covered" data-hits="
|
19020
|
-
<span class="hits">
|
19019
|
+
<li class="covered" data-hits="15" data-linenumber="13">
|
19020
|
+
<span class="hits">15</span>
|
19021
19021
|
|
19022
19022
|
<code class="ruby"> DB::Plugin.db_data(name)</code>
|
19023
19023
|
</li>
|
@@ -19220,8 +19220,8 @@
|
|
19220
19220
|
<code class="ruby"> def db_data</code>
|
19221
19221
|
</li>
|
19222
19222
|
|
19223
|
-
<li class="covered" data-hits="
|
19224
|
-
<span class="hits">
|
19223
|
+
<li class="covered" data-hits="22" data-linenumber="19">
|
19224
|
+
<span class="hits">22</span>
|
19225
19225
|
|
19226
19226
|
<code class="ruby"> DB::Theme.db_data(name)</code>
|
19227
19227
|
</li>
|
@@ -20379,10 +20379,10 @@
|
|
20379
20379
|
<div class="source_table" id="66e55c6afef8eb3f7f5760fdb675fffe42be4db9">
|
20380
20380
|
<div class="header">
|
20381
20381
|
<h3>app/models/wp_item.rb</h3>
|
20382
|
-
<h4><span class="green">98.
|
20382
|
+
<h4><span class="green">98.46 %</span> covered</h4>
|
20383
20383
|
<div>
|
20384
|
-
<b>
|
20385
|
-
<span class="green"><b>
|
20384
|
+
<b>65</b> relevant lines.
|
20385
|
+
<span class="green"><b>64</b> lines covered</span> and
|
20386
20386
|
<span class="red"><b>1</b> lines missed.</span>
|
20387
20387
|
</div>
|
20388
20388
|
</div>
|
@@ -20510,20 +20510,20 @@
|
|
20510
20510
|
<code class="ruby"> def initialize(name, target, opts = {})</code>
|
20511
20511
|
</li>
|
20512
20512
|
|
20513
|
-
<li class="covered" data-hits="
|
20514
|
-
<span class="hits">
|
20513
|
+
<li class="covered" data-hits="384" data-linenumber="21">
|
20514
|
+
<span class="hits">384</span>
|
20515
20515
|
|
20516
20516
|
<code class="ruby"> @name = URI.decode(name)</code>
|
20517
20517
|
</li>
|
20518
20518
|
|
20519
|
-
<li class="covered" data-hits="
|
20520
|
-
<span class="hits">
|
20519
|
+
<li class="covered" data-hits="384" data-linenumber="22">
|
20520
|
+
<span class="hits">384</span>
|
20521
20521
|
|
20522
20522
|
<code class="ruby"> @target = target</code>
|
20523
20523
|
</li>
|
20524
20524
|
|
20525
|
-
<li class="covered" data-hits="
|
20526
|
-
<span class="hits">
|
20525
|
+
<li class="covered" data-hits="384" data-linenumber="23">
|
20526
|
+
<span class="hits">384</span>
|
20527
20527
|
|
20528
20528
|
<code class="ruby"> @uri = Addressable::URI.parse(opts[:url]) if opts[:url]</code>
|
20529
20529
|
</li>
|
@@ -20540,8 +20540,8 @@
|
|
20540
20540
|
<code class="ruby"> # Options used to detect the version</code>
|
20541
20541
|
</li>
|
20542
20542
|
|
20543
|
-
<li class="covered" data-hits="
|
20544
|
-
<span class="hits">
|
20543
|
+
<li class="covered" data-hits="384" data-linenumber="26">
|
20544
|
+
<span class="hits">384</span>
|
20545
20545
|
|
20546
20546
|
<code class="ruby"> @detection_opts = { mode: opts[:mode], confidence_threshold: opts[:version_all] ? 0 : 100 }</code>
|
20547
20547
|
</li>
|
@@ -20552,8 +20552,8 @@
|
|
20552
20552
|
<code class="ruby"></code>
|
20553
20553
|
</li>
|
20554
20554
|
|
20555
|
-
<li class="covered" data-hits="
|
20556
|
-
<span class="hits">
|
20555
|
+
<li class="covered" data-hits="384" data-linenumber="28">
|
20556
|
+
<span class="hits">384</span>
|
20557
20557
|
|
20558
20558
|
<code class="ruby"> parse_finding_options(opts)</code>
|
20559
20559
|
</li>
|
@@ -20732,10 +20732,10 @@
|
|
20732
20732
|
<code class="ruby"> def latest_version</code>
|
20733
20733
|
</li>
|
20734
20734
|
|
20735
|
-
<li class="covered" data-hits="
|
20736
|
-
<span class="hits">
|
20735
|
+
<li class="covered" data-hits="17" data-linenumber="58">
|
20736
|
+
<span class="hits">17</span>
|
20737
20737
|
|
20738
|
-
<code class="ruby"> @latest_version ||= db_data['latest_version']</code>
|
20738
|
+
<code class="ruby"> @latest_version ||= db_data['latest_version'] ? WPScan::Version.new(db_data['latest_version']) : nil</code>
|
20739
20739
|
</li>
|
20740
20740
|
|
20741
20741
|
<li class="never" data-hits="" data-linenumber="59">
|
@@ -20789,454 +20789,538 @@
|
|
20789
20789
|
<li class="never" data-hits="" data-linenumber="67">
|
20790
20790
|
|
20791
20791
|
|
20792
|
+
<code class="ruby"> # @return [ String ]</code>
|
20793
|
+
</li>
|
20794
|
+
|
20795
|
+
<li class="covered" data-hits="1" data-linenumber="68">
|
20796
|
+
<span class="hits">1</span>
|
20797
|
+
|
20798
|
+
<code class="ruby"> def last_updated</code>
|
20799
|
+
</li>
|
20800
|
+
|
20801
|
+
<li class="covered" data-hits="8" data-linenumber="69">
|
20802
|
+
<span class="hits">8</span>
|
20803
|
+
|
20804
|
+
<code class="ruby"> @last_updated ||= db_data['last_updated']</code>
|
20805
|
+
</li>
|
20806
|
+
|
20807
|
+
<li class="never" data-hits="" data-linenumber="70">
|
20808
|
+
|
20809
|
+
|
20810
|
+
<code class="ruby"> end</code>
|
20811
|
+
</li>
|
20812
|
+
|
20813
|
+
<li class="never" data-hits="" data-linenumber="71">
|
20814
|
+
|
20815
|
+
|
20816
|
+
<code class="ruby"></code>
|
20817
|
+
</li>
|
20818
|
+
|
20819
|
+
<li class="never" data-hits="" data-linenumber="72">
|
20820
|
+
|
20821
|
+
|
20822
|
+
<code class="ruby"> # @return [ Boolean ]</code>
|
20823
|
+
</li>
|
20824
|
+
|
20825
|
+
<li class="covered" data-hits="1" data-linenumber="73">
|
20826
|
+
<span class="hits">1</span>
|
20827
|
+
|
20828
|
+
<code class="ruby"> def outdated?</code>
|
20829
|
+
</li>
|
20830
|
+
|
20831
|
+
<li class="covered" data-hits="8" data-linenumber="74">
|
20832
|
+
<span class="hits">8</span>
|
20833
|
+
|
20834
|
+
<code class="ruby"> @outdated ||= if version && latest_version</code>
|
20835
|
+
</li>
|
20836
|
+
|
20837
|
+
<li class="covered" data-hits="2" data-linenumber="75">
|
20838
|
+
<span class="hits">2</span>
|
20839
|
+
|
20840
|
+
<code class="ruby"> version < latest_version</code>
|
20841
|
+
</li>
|
20842
|
+
|
20843
|
+
<li class="never" data-hits="" data-linenumber="76">
|
20844
|
+
|
20845
|
+
|
20846
|
+
<code class="ruby"> else</code>
|
20847
|
+
</li>
|
20848
|
+
|
20849
|
+
<li class="covered" data-hits="6" data-linenumber="77">
|
20850
|
+
<span class="hits">6</span>
|
20851
|
+
|
20852
|
+
<code class="ruby"> false</code>
|
20853
|
+
</li>
|
20854
|
+
|
20855
|
+
<li class="covered" data-hits="8" data-linenumber="78">
|
20856
|
+
<span class="hits">8</span>
|
20857
|
+
|
20858
|
+
<code class="ruby"> end</code>
|
20859
|
+
</li>
|
20860
|
+
|
20861
|
+
<li class="never" data-hits="" data-linenumber="79">
|
20862
|
+
|
20863
|
+
|
20864
|
+
<code class="ruby"> end</code>
|
20865
|
+
</li>
|
20866
|
+
|
20867
|
+
<li class="never" data-hits="" data-linenumber="80">
|
20868
|
+
|
20869
|
+
|
20870
|
+
<code class="ruby"></code>
|
20871
|
+
</li>
|
20872
|
+
|
20873
|
+
<li class="never" data-hits="" data-linenumber="81">
|
20874
|
+
|
20875
|
+
|
20792
20876
|
<code class="ruby"> # URI.encode is preferered over Addressable::URI.encode as it will encode</code>
|
20793
20877
|
</li>
|
20794
20878
|
|
20795
|
-
<li class="never" data-hits="" data-linenumber="
|
20879
|
+
<li class="never" data-hits="" data-linenumber="82">
|
20796
20880
|
|
20797
20881
|
|
20798
20882
|
<code class="ruby"> # leading # character:</code>
|
20799
20883
|
</li>
|
20800
20884
|
|
20801
|
-
<li class="never" data-hits="" data-linenumber="
|
20885
|
+
<li class="never" data-hits="" data-linenumber="83">
|
20802
20886
|
|
20803
20887
|
|
20804
20888
|
<code class="ruby"> # URI.encode('#t#') => %23t%23</code>
|
20805
20889
|
</li>
|
20806
20890
|
|
20807
|
-
<li class="never" data-hits="" data-linenumber="
|
20891
|
+
<li class="never" data-hits="" data-linenumber="84">
|
20808
20892
|
|
20809
20893
|
|
20810
20894
|
<code class="ruby"> # Addressable::URI.encode('#t#') => #t%23</code>
|
20811
20895
|
</li>
|
20812
20896
|
|
20813
|
-
<li class="never" data-hits="" data-linenumber="
|
20897
|
+
<li class="never" data-hits="" data-linenumber="85">
|
20814
20898
|
|
20815
20899
|
|
20816
20900
|
<code class="ruby"> #</code>
|
20817
20901
|
</li>
|
20818
20902
|
|
20819
|
-
<li class="never" data-hits="" data-linenumber="
|
20903
|
+
<li class="never" data-hits="" data-linenumber="86">
|
20820
20904
|
|
20821
20905
|
|
20822
20906
|
<code class="ruby"> # @param [ String ] path Optional path to merge with the uri</code>
|
20823
20907
|
</li>
|
20824
20908
|
|
20825
|
-
<li class="never" data-hits="" data-linenumber="
|
20909
|
+
<li class="never" data-hits="" data-linenumber="87">
|
20826
20910
|
|
20827
20911
|
|
20828
20912
|
<code class="ruby"> #</code>
|
20829
20913
|
</li>
|
20830
20914
|
|
20831
|
-
<li class="never" data-hits="" data-linenumber="
|
20915
|
+
<li class="never" data-hits="" data-linenumber="88">
|
20832
20916
|
|
20833
20917
|
|
20834
20918
|
<code class="ruby"> # @return [ String ]</code>
|
20835
20919
|
</li>
|
20836
20920
|
|
20837
|
-
<li class="covered" data-hits="1" data-linenumber="
|
20921
|
+
<li class="covered" data-hits="1" data-linenumber="89">
|
20838
20922
|
<span class="hits">1</span>
|
20839
20923
|
|
20840
20924
|
<code class="ruby"> def url(path = nil)</code>
|
20841
20925
|
</li>
|
20842
20926
|
|
20843
|
-
<li class="covered" data-hits="
|
20844
|
-
<span class="hits">
|
20927
|
+
<li class="covered" data-hits="219" data-linenumber="90">
|
20928
|
+
<span class="hits">219</span>
|
20845
20929
|
|
20846
20930
|
<code class="ruby"> return unless @uri</code>
|
20847
20931
|
</li>
|
20848
20932
|
|
20849
|
-
<li class="covered" data-hits="
|
20850
|
-
<span class="hits">
|
20933
|
+
<li class="covered" data-hits="218" data-linenumber="91">
|
20934
|
+
<span class="hits">218</span>
|
20851
20935
|
|
20852
20936
|
<code class="ruby"> return @uri.to_s unless path</code>
|
20853
20937
|
</li>
|
20854
20938
|
|
20855
|
-
<li class="never" data-hits="" data-linenumber="
|
20939
|
+
<li class="never" data-hits="" data-linenumber="92">
|
20856
20940
|
|
20857
20941
|
|
20858
20942
|
<code class="ruby"></code>
|
20859
20943
|
</li>
|
20860
20944
|
|
20861
|
-
<li class="covered" data-hits="
|
20862
|
-
<span class="hits">
|
20945
|
+
<li class="covered" data-hits="204" data-linenumber="93">
|
20946
|
+
<span class="hits">204</span>
|
20863
20947
|
|
20864
20948
|
<code class="ruby"> @uri.join(URI.encode(path)).to_s</code>
|
20865
20949
|
</li>
|
20866
20950
|
|
20867
|
-
<li class="never" data-hits="" data-linenumber="
|
20951
|
+
<li class="never" data-hits="" data-linenumber="94">
|
20868
20952
|
|
20869
20953
|
|
20870
20954
|
<code class="ruby"> end</code>
|
20871
20955
|
</li>
|
20872
20956
|
|
20873
|
-
<li class="never" data-hits="" data-linenumber="
|
20957
|
+
<li class="never" data-hits="" data-linenumber="95">
|
20874
20958
|
|
20875
20959
|
|
20876
20960
|
<code class="ruby"></code>
|
20877
20961
|
</li>
|
20878
20962
|
|
20879
|
-
<li class="never" data-hits="" data-linenumber="
|
20963
|
+
<li class="never" data-hits="" data-linenumber="96">
|
20880
20964
|
|
20881
20965
|
|
20882
20966
|
<code class="ruby"> # @return [ Boolean ]</code>
|
20883
20967
|
</li>
|
20884
20968
|
|
20885
|
-
<li class="covered" data-hits="1" data-linenumber="
|
20969
|
+
<li class="covered" data-hits="1" data-linenumber="97">
|
20886
20970
|
<span class="hits">1</span>
|
20887
20971
|
|
20888
20972
|
<code class="ruby"> def ==(other)</code>
|
20889
20973
|
</li>
|
20890
20974
|
|
20891
|
-
<li class="covered" data-hits="1532" data-linenumber="
|
20975
|
+
<li class="covered" data-hits="1532" data-linenumber="98">
|
20892
20976
|
<span class="hits">1532</span>
|
20893
20977
|
|
20894
20978
|
<code class="ruby"> return false unless self.class == other.class</code>
|
20895
20979
|
</li>
|
20896
20980
|
|
20897
|
-
<li class="never" data-hits="" data-linenumber="
|
20981
|
+
<li class="never" data-hits="" data-linenumber="99">
|
20898
20982
|
|
20899
20983
|
|
20900
20984
|
<code class="ruby"></code>
|
20901
20985
|
</li>
|
20902
20986
|
|
20903
|
-
<li class="covered" data-hits="1531" data-linenumber="
|
20987
|
+
<li class="covered" data-hits="1531" data-linenumber="100">
|
20904
20988
|
<span class="hits">1531</span>
|
20905
20989
|
|
20906
20990
|
<code class="ruby"> name == other.name</code>
|
20907
20991
|
</li>
|
20908
20992
|
|
20909
|
-
<li class="never" data-hits="" data-linenumber="
|
20993
|
+
<li class="never" data-hits="" data-linenumber="101">
|
20910
20994
|
|
20911
20995
|
|
20912
20996
|
<code class="ruby"> end</code>
|
20913
20997
|
</li>
|
20914
20998
|
|
20915
|
-
<li class="never" data-hits="" data-linenumber="
|
20999
|
+
<li class="never" data-hits="" data-linenumber="102">
|
20916
21000
|
|
20917
21001
|
|
20918
21002
|
<code class="ruby"></code>
|
20919
21003
|
</li>
|
20920
21004
|
|
20921
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21005
|
+
<li class="covered" data-hits="1" data-linenumber="103">
|
20922
21006
|
<span class="hits">1</span>
|
20923
21007
|
|
20924
21008
|
<code class="ruby"> def to_s</code>
|
20925
21009
|
</li>
|
20926
21010
|
|
20927
|
-
<li class="covered" data-hits="1240" data-linenumber="
|
21011
|
+
<li class="covered" data-hits="1240" data-linenumber="104">
|
20928
21012
|
<span class="hits">1240</span>
|
20929
21013
|
|
20930
21014
|
<code class="ruby"> name</code>
|
20931
21015
|
</li>
|
20932
21016
|
|
20933
|
-
<li class="never" data-hits="" data-linenumber="
|
21017
|
+
<li class="never" data-hits="" data-linenumber="105">
|
20934
21018
|
|
20935
21019
|
|
20936
21020
|
<code class="ruby"> end</code>
|
20937
21021
|
</li>
|
20938
21022
|
|
20939
|
-
<li class="never" data-hits="" data-linenumber="
|
21023
|
+
<li class="never" data-hits="" data-linenumber="106">
|
20940
21024
|
|
20941
21025
|
|
20942
21026
|
<code class="ruby"></code>
|
20943
21027
|
</li>
|
20944
21028
|
|
20945
|
-
<li class="never" data-hits="" data-linenumber="
|
21029
|
+
<li class="never" data-hits="" data-linenumber="107">
|
20946
21030
|
|
20947
21031
|
|
20948
21032
|
<code class="ruby"> # @return [ Symbol ] The Class name associated to the item name</code>
|
20949
21033
|
</li>
|
20950
21034
|
|
20951
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21035
|
+
<li class="covered" data-hits="1" data-linenumber="108">
|
20952
21036
|
<span class="hits">1</span>
|
20953
21037
|
|
20954
21038
|
<code class="ruby"> def classify_name</code>
|
20955
21039
|
</li>
|
20956
21040
|
|
20957
|
-
<li class="covered" data-hits="7" data-linenumber="
|
21041
|
+
<li class="covered" data-hits="7" data-linenumber="109">
|
20958
21042
|
<span class="hits">7</span>
|
20959
21043
|
|
20960
21044
|
<code class="ruby"> name.to_s.tr('-', '_').camelize.to_s.to_sym</code>
|
20961
21045
|
</li>
|
20962
21046
|
|
20963
|
-
<li class="never" data-hits="" data-linenumber="
|
21047
|
+
<li class="never" data-hits="" data-linenumber="110">
|
20964
21048
|
|
20965
21049
|
|
20966
21050
|
<code class="ruby"> end</code>
|
20967
21051
|
</li>
|
20968
21052
|
|
20969
|
-
<li class="never" data-hits="" data-linenumber="
|
21053
|
+
<li class="never" data-hits="" data-linenumber="111">
|
20970
21054
|
|
20971
21055
|
|
20972
21056
|
<code class="ruby"></code>
|
20973
21057
|
</li>
|
20974
21058
|
|
20975
|
-
<li class="never" data-hits="" data-linenumber="
|
21059
|
+
<li class="never" data-hits="" data-linenumber="112">
|
20976
21060
|
|
20977
21061
|
|
20978
21062
|
<code class="ruby"> # @return [ String ] The readme url if found</code>
|
20979
21063
|
</li>
|
20980
21064
|
|
20981
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21065
|
+
<li class="covered" data-hits="1" data-linenumber="113">
|
20982
21066
|
<span class="hits">1</span>
|
20983
21067
|
|
20984
21068
|
<code class="ruby"> def readme_url</code>
|
20985
21069
|
</li>
|
20986
21070
|
|
20987
|
-
<li class="covered" data-hits="9" data-linenumber="
|
21071
|
+
<li class="covered" data-hits="9" data-linenumber="114">
|
20988
21072
|
<span class="hits">9</span>
|
20989
21073
|
|
20990
21074
|
<code class="ruby"> return if detection_opts[:mode] == :passive</code>
|
20991
21075
|
</li>
|
20992
21076
|
|
20993
|
-
<li class="never" data-hits="" data-linenumber="
|
21077
|
+
<li class="never" data-hits="" data-linenumber="115">
|
20994
21078
|
|
20995
21079
|
|
20996
21080
|
<code class="ruby"></code>
|
20997
21081
|
</li>
|
20998
21082
|
|
20999
|
-
<li class="covered" data-hits="9" data-linenumber="
|
21083
|
+
<li class="covered" data-hits="9" data-linenumber="116">
|
21000
21084
|
<span class="hits">9</span>
|
21001
21085
|
|
21002
21086
|
<code class="ruby"> if @readme_url.nil?</code>
|
21003
21087
|
</li>
|
21004
21088
|
|
21005
|
-
<li class="covered" data-hits="6" data-linenumber="
|
21089
|
+
<li class="covered" data-hits="6" data-linenumber="117">
|
21006
21090
|
<span class="hits">6</span>
|
21007
21091
|
|
21008
21092
|
<code class="ruby"> READMES.each do |path|</code>
|
21009
21093
|
</li>
|
21010
21094
|
|
21011
|
-
<li class="covered" data-hits="6" data-linenumber="
|
21095
|
+
<li class="covered" data-hits="6" data-linenumber="118">
|
21012
21096
|
<span class="hits">6</span>
|
21013
21097
|
|
21014
21098
|
<code class="ruby"> return @readme_url = url(path) if Browser.get(url(path)).code == 200</code>
|
21015
21099
|
</li>
|
21016
21100
|
|
21017
|
-
<li class="never" data-hits="" data-linenumber="
|
21101
|
+
<li class="never" data-hits="" data-linenumber="119">
|
21018
21102
|
|
21019
21103
|
|
21020
21104
|
<code class="ruby"> end</code>
|
21021
21105
|
</li>
|
21022
21106
|
|
21023
|
-
<li class="never" data-hits="" data-linenumber="
|
21107
|
+
<li class="never" data-hits="" data-linenumber="120">
|
21024
21108
|
|
21025
21109
|
|
21026
21110
|
<code class="ruby"> end</code>
|
21027
21111
|
</li>
|
21028
21112
|
|
21029
|
-
<li class="never" data-hits="" data-linenumber="
|
21113
|
+
<li class="never" data-hits="" data-linenumber="121">
|
21030
21114
|
|
21031
21115
|
|
21032
21116
|
<code class="ruby"></code>
|
21033
21117
|
</li>
|
21034
21118
|
|
21035
|
-
<li class="covered" data-hits="3" data-linenumber="
|
21119
|
+
<li class="covered" data-hits="3" data-linenumber="122">
|
21036
21120
|
<span class="hits">3</span>
|
21037
21121
|
|
21038
21122
|
<code class="ruby"> @readme_url</code>
|
21039
21123
|
</li>
|
21040
21124
|
|
21041
|
-
<li class="never" data-hits="" data-linenumber="
|
21125
|
+
<li class="never" data-hits="" data-linenumber="123">
|
21042
21126
|
|
21043
21127
|
|
21044
21128
|
<code class="ruby"> end</code>
|
21045
21129
|
</li>
|
21046
21130
|
|
21047
|
-
<li class="never" data-hits="" data-linenumber="
|
21131
|
+
<li class="never" data-hits="" data-linenumber="124">
|
21048
21132
|
|
21049
21133
|
|
21050
21134
|
<code class="ruby"></code>
|
21051
21135
|
</li>
|
21052
21136
|
|
21053
|
-
<li class="never" data-hits="" data-linenumber="
|
21137
|
+
<li class="never" data-hits="" data-linenumber="125">
|
21054
21138
|
|
21055
21139
|
|
21056
21140
|
<code class="ruby"> # @return [ String, false ] The changelog urr if found</code>
|
21057
21141
|
</li>
|
21058
21142
|
|
21059
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21143
|
+
<li class="covered" data-hits="1" data-linenumber="126">
|
21060
21144
|
<span class="hits">1</span>
|
21061
21145
|
|
21062
21146
|
<code class="ruby"> def changelog_url</code>
|
21063
21147
|
</li>
|
21064
21148
|
|
21065
|
-
<li class="covered" data-hits="9" data-linenumber="
|
21149
|
+
<li class="covered" data-hits="9" data-linenumber="127">
|
21066
21150
|
<span class="hits">9</span>
|
21067
21151
|
|
21068
21152
|
<code class="ruby"> return if detection_opts[:mode] == :passive</code>
|
21069
21153
|
</li>
|
21070
21154
|
|
21071
|
-
<li class="never" data-hits="" data-linenumber="
|
21155
|
+
<li class="never" data-hits="" data-linenumber="128">
|
21072
21156
|
|
21073
21157
|
|
21074
21158
|
<code class="ruby"></code>
|
21075
21159
|
</li>
|
21076
21160
|
|
21077
|
-
<li class="covered" data-hits="9" data-linenumber="
|
21161
|
+
<li class="covered" data-hits="9" data-linenumber="129">
|
21078
21162
|
<span class="hits">9</span>
|
21079
21163
|
|
21080
21164
|
<code class="ruby"> if @changelog_url.nil?</code>
|
21081
21165
|
</li>
|
21082
21166
|
|
21083
|
-
<li class="covered" data-hits="6" data-linenumber="
|
21167
|
+
<li class="covered" data-hits="6" data-linenumber="130">
|
21084
21168
|
<span class="hits">6</span>
|
21085
21169
|
|
21086
21170
|
<code class="ruby"> CHANGELOGS.each do |path|</code>
|
21087
21171
|
</li>
|
21088
21172
|
|
21089
|
-
<li class="covered" data-hits="6" data-linenumber="
|
21173
|
+
<li class="covered" data-hits="6" data-linenumber="131">
|
21090
21174
|
<span class="hits">6</span>
|
21091
21175
|
|
21092
21176
|
<code class="ruby"> return @changelog_url = url(path) if Browser.get(url(path)).code == 200</code>
|
21093
21177
|
</li>
|
21094
21178
|
|
21095
|
-
<li class="never" data-hits="" data-linenumber="
|
21179
|
+
<li class="never" data-hits="" data-linenumber="132">
|
21096
21180
|
|
21097
21181
|
|
21098
21182
|
<code class="ruby"> end</code>
|
21099
21183
|
</li>
|
21100
21184
|
|
21101
|
-
<li class="never" data-hits="" data-linenumber="
|
21185
|
+
<li class="never" data-hits="" data-linenumber="133">
|
21102
21186
|
|
21103
21187
|
|
21104
21188
|
<code class="ruby"> end</code>
|
21105
21189
|
</li>
|
21106
21190
|
|
21107
|
-
<li class="never" data-hits="" data-linenumber="
|
21191
|
+
<li class="never" data-hits="" data-linenumber="134">
|
21108
21192
|
|
21109
21193
|
|
21110
21194
|
<code class="ruby"></code>
|
21111
21195
|
</li>
|
21112
21196
|
|
21113
|
-
<li class="covered" data-hits="3" data-linenumber="
|
21197
|
+
<li class="covered" data-hits="3" data-linenumber="135">
|
21114
21198
|
<span class="hits">3</span>
|
21115
21199
|
|
21116
21200
|
<code class="ruby"> @changelog_url</code>
|
21117
21201
|
</li>
|
21118
21202
|
|
21119
|
-
<li class="never" data-hits="" data-linenumber="
|
21203
|
+
<li class="never" data-hits="" data-linenumber="136">
|
21120
21204
|
|
21121
21205
|
|
21122
21206
|
<code class="ruby"> end</code>
|
21123
21207
|
</li>
|
21124
21208
|
|
21125
|
-
<li class="never" data-hits="" data-linenumber="
|
21209
|
+
<li class="never" data-hits="" data-linenumber="137">
|
21126
21210
|
|
21127
21211
|
|
21128
21212
|
<code class="ruby"></code>
|
21129
21213
|
</li>
|
21130
21214
|
|
21131
|
-
<li class="never" data-hits="" data-linenumber="
|
21215
|
+
<li class="never" data-hits="" data-linenumber="138">
|
21132
21216
|
|
21133
21217
|
|
21134
21218
|
<code class="ruby"> # @param [ String ] path</code>
|
21135
21219
|
</li>
|
21136
21220
|
|
21137
|
-
<li class="never" data-hits="" data-linenumber="
|
21221
|
+
<li class="never" data-hits="" data-linenumber="139">
|
21138
21222
|
|
21139
21223
|
|
21140
21224
|
<code class="ruby"> # @param [ Hash ] params The request params</code>
|
21141
21225
|
</li>
|
21142
21226
|
|
21143
|
-
<li class="never" data-hits="" data-linenumber="
|
21227
|
+
<li class="never" data-hits="" data-linenumber="140">
|
21144
21228
|
|
21145
21229
|
|
21146
21230
|
<code class="ruby"> #</code>
|
21147
21231
|
</li>
|
21148
21232
|
|
21149
|
-
<li class="never" data-hits="" data-linenumber="
|
21233
|
+
<li class="never" data-hits="" data-linenumber="141">
|
21150
21234
|
|
21151
21235
|
|
21152
21236
|
<code class="ruby"> # @return [ Boolean ]</code>
|
21153
21237
|
</li>
|
21154
21238
|
|
21155
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21239
|
+
<li class="covered" data-hits="1" data-linenumber="142">
|
21156
21240
|
<span class="hits">1</span>
|
21157
21241
|
|
21158
21242
|
<code class="ruby"> def directory_listing?(path = nil, params = {})</code>
|
21159
21243
|
</li>
|
21160
21244
|
|
21161
|
-
<li class="covered" data-hits="6" data-linenumber="
|
21245
|
+
<li class="covered" data-hits="6" data-linenumber="143">
|
21162
21246
|
<span class="hits">6</span>
|
21163
21247
|
|
21164
21248
|
<code class="ruby"> return if detection_opts[:mode] == :passive</code>
|
21165
21249
|
</li>
|
21166
21250
|
|
21167
|
-
<li class="covered" data-hits="6" data-linenumber="
|
21251
|
+
<li class="covered" data-hits="6" data-linenumber="144">
|
21168
21252
|
<span class="hits">6</span>
|
21169
21253
|
|
21170
21254
|
<code class="ruby"> super(path, params)</code>
|
21171
21255
|
</li>
|
21172
21256
|
|
21173
|
-
<li class="never" data-hits="" data-linenumber="
|
21257
|
+
<li class="never" data-hits="" data-linenumber="145">
|
21174
21258
|
|
21175
21259
|
|
21176
21260
|
<code class="ruby"> end</code>
|
21177
21261
|
</li>
|
21178
21262
|
|
21179
|
-
<li class="never" data-hits="" data-linenumber="
|
21263
|
+
<li class="never" data-hits="" data-linenumber="146">
|
21180
21264
|
|
21181
21265
|
|
21182
21266
|
<code class="ruby"></code>
|
21183
21267
|
</li>
|
21184
21268
|
|
21185
|
-
<li class="never" data-hits="" data-linenumber="
|
21269
|
+
<li class="never" data-hits="" data-linenumber="147">
|
21186
21270
|
|
21187
21271
|
|
21188
21272
|
<code class="ruby"> # @param [ String ] path</code>
|
21189
21273
|
</li>
|
21190
21274
|
|
21191
|
-
<li class="never" data-hits="" data-linenumber="
|
21275
|
+
<li class="never" data-hits="" data-linenumber="148">
|
21192
21276
|
|
21193
21277
|
|
21194
21278
|
<code class="ruby"> # @param [ Hash ] params The request params</code>
|
21195
21279
|
</li>
|
21196
21280
|
|
21197
|
-
<li class="never" data-hits="" data-linenumber="
|
21281
|
+
<li class="never" data-hits="" data-linenumber="149">
|
21198
21282
|
|
21199
21283
|
|
21200
21284
|
<code class="ruby"> #</code>
|
21201
21285
|
</li>
|
21202
21286
|
|
21203
|
-
<li class="never" data-hits="" data-linenumber="
|
21287
|
+
<li class="never" data-hits="" data-linenumber="150">
|
21204
21288
|
|
21205
21289
|
|
21206
21290
|
<code class="ruby"> # @return [ Boolean ]</code>
|
21207
21291
|
</li>
|
21208
21292
|
|
21209
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21293
|
+
<li class="covered" data-hits="1" data-linenumber="151">
|
21210
21294
|
<span class="hits">1</span>
|
21211
21295
|
|
21212
21296
|
<code class="ruby"> def error_log?(path = 'error_log', params = {})</code>
|
21213
21297
|
</li>
|
21214
21298
|
|
21215
|
-
<li class="covered" data-hits="6" data-linenumber="
|
21299
|
+
<li class="covered" data-hits="6" data-linenumber="152">
|
21216
21300
|
<span class="hits">6</span>
|
21217
21301
|
|
21218
21302
|
<code class="ruby"> return if detection_opts[:mode] == :passive</code>
|
21219
21303
|
</li>
|
21220
21304
|
|
21221
|
-
<li class="covered" data-hits="6" data-linenumber="
|
21305
|
+
<li class="covered" data-hits="6" data-linenumber="153">
|
21222
21306
|
<span class="hits">6</span>
|
21223
21307
|
|
21224
21308
|
<code class="ruby"> super(path, params)</code>
|
21225
21309
|
</li>
|
21226
21310
|
|
21227
|
-
<li class="never" data-hits="" data-linenumber="
|
21311
|
+
<li class="never" data-hits="" data-linenumber="154">
|
21228
21312
|
|
21229
21313
|
|
21230
21314
|
<code class="ruby"> end</code>
|
21231
21315
|
</li>
|
21232
21316
|
|
21233
|
-
<li class="never" data-hits="" data-linenumber="
|
21317
|
+
<li class="never" data-hits="" data-linenumber="155">
|
21234
21318
|
|
21235
21319
|
|
21236
21320
|
<code class="ruby"> end</code>
|
21237
21321
|
</li>
|
21238
21322
|
|
21239
|
-
<li class="never" data-hits="" data-linenumber="
|
21323
|
+
<li class="never" data-hits="" data-linenumber="156">
|
21240
21324
|
|
21241
21325
|
|
21242
21326
|
<code class="ruby">end</code>
|
@@ -21710,259 +21794,277 @@
|
|
21710
21794
|
<code class="ruby"># Gems</code>
|
21711
21795
|
</li>
|
21712
21796
|
|
21713
|
-
<li class="
|
21797
|
+
<li class="never" data-hits="" data-linenumber="2">
|
21798
|
+
|
21799
|
+
|
21800
|
+
<code class="ruby"># Believe it or not, active_support MUST be the first one,</code>
|
21801
|
+
</li>
|
21802
|
+
|
21803
|
+
<li class="never" data-hits="" data-linenumber="3">
|
21804
|
+
|
21805
|
+
|
21806
|
+
<code class="ruby"># otherwise encoding issues can happen when using JSON format.</code>
|
21807
|
+
</li>
|
21808
|
+
|
21809
|
+
<li class="never" data-hits="" data-linenumber="4">
|
21810
|
+
|
21811
|
+
|
21812
|
+
<code class="ruby"># Not kidding.</code>
|
21813
|
+
</li>
|
21814
|
+
|
21815
|
+
<li class="covered" data-hits="1" data-linenumber="5">
|
21714
21816
|
<span class="hits">1</span>
|
21715
21817
|
|
21716
|
-
<code class="ruby">require '
|
21818
|
+
<code class="ruby">require 'active_support/all'</code>
|
21717
21819
|
</li>
|
21718
21820
|
|
21719
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21821
|
+
<li class="covered" data-hits="1" data-linenumber="6">
|
21720
21822
|
<span class="hits">1</span>
|
21721
21823
|
|
21722
|
-
<code class="ruby">require '
|
21824
|
+
<code class="ruby">require 'cms_scanner'</code>
|
21723
21825
|
</li>
|
21724
21826
|
|
21725
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21827
|
+
<li class="covered" data-hits="1" data-linenumber="7">
|
21726
21828
|
<span class="hits">1</span>
|
21727
21829
|
|
21728
|
-
<code class="ruby">require '
|
21830
|
+
<code class="ruby">require 'yajl/json_gem'</code>
|
21729
21831
|
</li>
|
21730
21832
|
|
21731
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21833
|
+
<li class="covered" data-hits="1" data-linenumber="8">
|
21732
21834
|
<span class="hits">1</span>
|
21733
21835
|
|
21734
|
-
<code class="ruby">require '
|
21836
|
+
<code class="ruby">require 'addressable/uri'</code>
|
21735
21837
|
</li>
|
21736
21838
|
|
21737
|
-
<li class="never" data-hits="" data-linenumber="
|
21839
|
+
<li class="never" data-hits="" data-linenumber="9">
|
21738
21840
|
|
21739
21841
|
|
21740
21842
|
<code class="ruby"># Standard Lib</code>
|
21741
21843
|
</li>
|
21742
21844
|
|
21743
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21845
|
+
<li class="covered" data-hits="1" data-linenumber="10">
|
21744
21846
|
<span class="hits">1</span>
|
21745
21847
|
|
21746
21848
|
<code class="ruby">require 'uri'</code>
|
21747
21849
|
</li>
|
21748
21850
|
|
21749
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21851
|
+
<li class="covered" data-hits="1" data-linenumber="11">
|
21750
21852
|
<span class="hits">1</span>
|
21751
21853
|
|
21752
21854
|
<code class="ruby">require 'time'</code>
|
21753
21855
|
</li>
|
21754
21856
|
|
21755
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21857
|
+
<li class="covered" data-hits="1" data-linenumber="12">
|
21756
21858
|
<span class="hits">1</span>
|
21757
21859
|
|
21758
21860
|
<code class="ruby">require 'readline'</code>
|
21759
21861
|
</li>
|
21760
21862
|
|
21761
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21863
|
+
<li class="covered" data-hits="1" data-linenumber="13">
|
21762
21864
|
<span class="hits">1</span>
|
21763
21865
|
|
21764
21866
|
<code class="ruby">require 'securerandom'</code>
|
21765
21867
|
</li>
|
21766
21868
|
|
21767
|
-
<li class="never" data-hits="" data-linenumber="
|
21869
|
+
<li class="never" data-hits="" data-linenumber="14">
|
21768
21870
|
|
21769
21871
|
|
21770
21872
|
<code class="ruby"># Custom Libs</code>
|
21771
21873
|
</li>
|
21772
21874
|
|
21773
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21875
|
+
<li class="covered" data-hits="1" data-linenumber="15">
|
21774
21876
|
<span class="hits">1</span>
|
21775
21877
|
|
21776
21878
|
<code class="ruby">require 'wpscan/helper'</code>
|
21777
21879
|
</li>
|
21778
21880
|
|
21779
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21881
|
+
<li class="covered" data-hits="1" data-linenumber="16">
|
21780
21882
|
<span class="hits">1</span>
|
21781
21883
|
|
21782
21884
|
<code class="ruby">require 'wpscan/db'</code>
|
21783
21885
|
</li>
|
21784
21886
|
|
21785
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21887
|
+
<li class="covered" data-hits="1" data-linenumber="17">
|
21786
21888
|
<span class="hits">1</span>
|
21787
21889
|
|
21788
21890
|
<code class="ruby">require 'wpscan/version'</code>
|
21789
21891
|
</li>
|
21790
21892
|
|
21791
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21893
|
+
<li class="covered" data-hits="1" data-linenumber="18">
|
21792
21894
|
<span class="hits">1</span>
|
21793
21895
|
|
21794
21896
|
<code class="ruby">require 'wpscan/errors/wordpress'</code>
|
21795
21897
|
</li>
|
21796
21898
|
|
21797
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21899
|
+
<li class="covered" data-hits="1" data-linenumber="19">
|
21798
21900
|
<span class="hits">1</span>
|
21799
21901
|
|
21800
21902
|
<code class="ruby">require 'wpscan/errors/http'</code>
|
21801
21903
|
</li>
|
21802
21904
|
|
21803
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21905
|
+
<li class="covered" data-hits="1" data-linenumber="20">
|
21804
21906
|
<span class="hits">1</span>
|
21805
21907
|
|
21806
21908
|
<code class="ruby">require 'wpscan/errors/update'</code>
|
21807
21909
|
</li>
|
21808
21910
|
|
21809
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21911
|
+
<li class="covered" data-hits="1" data-linenumber="21">
|
21810
21912
|
<span class="hits">1</span>
|
21811
21913
|
|
21812
21914
|
<code class="ruby">require 'wpscan/browser'</code>
|
21813
21915
|
</li>
|
21814
21916
|
|
21815
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21917
|
+
<li class="covered" data-hits="1" data-linenumber="22">
|
21816
21918
|
<span class="hits">1</span>
|
21817
21919
|
|
21818
21920
|
<code class="ruby">require 'wpscan/target'</code>
|
21819
21921
|
</li>
|
21820
21922
|
|
21821
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21923
|
+
<li class="covered" data-hits="1" data-linenumber="23">
|
21822
21924
|
<span class="hits">1</span>
|
21823
21925
|
|
21824
21926
|
<code class="ruby">require 'wpscan/finders'</code>
|
21825
21927
|
</li>
|
21826
21928
|
|
21827
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21929
|
+
<li class="covered" data-hits="1" data-linenumber="24">
|
21828
21930
|
<span class="hits">1</span>
|
21829
21931
|
|
21830
21932
|
<code class="ruby">require 'wpscan/controller'</code>
|
21831
21933
|
</li>
|
21832
21934
|
|
21833
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21935
|
+
<li class="covered" data-hits="1" data-linenumber="25">
|
21834
21936
|
<span class="hits">1</span>
|
21835
21937
|
|
21836
21938
|
<code class="ruby">require 'wpscan/controllers'</code>
|
21837
21939
|
</li>
|
21838
21940
|
|
21839
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21941
|
+
<li class="covered" data-hits="1" data-linenumber="26">
|
21840
21942
|
<span class="hits">1</span>
|
21841
21943
|
|
21842
21944
|
<code class="ruby">require 'wpscan/references'</code>
|
21843
21945
|
</li>
|
21844
21946
|
|
21845
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21947
|
+
<li class="covered" data-hits="1" data-linenumber="27">
|
21846
21948
|
<span class="hits">1</span>
|
21847
21949
|
|
21848
21950
|
<code class="ruby">require 'wpscan/vulnerable'</code>
|
21849
21951
|
</li>
|
21850
21952
|
|
21851
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21953
|
+
<li class="covered" data-hits="1" data-linenumber="28">
|
21852
21954
|
<span class="hits">1</span>
|
21853
21955
|
|
21854
21956
|
<code class="ruby">require 'wpscan/vulnerability'</code>
|
21855
21957
|
</li>
|
21856
21958
|
|
21857
|
-
<li class="never" data-hits="" data-linenumber="
|
21959
|
+
<li class="never" data-hits="" data-linenumber="29">
|
21858
21960
|
|
21859
21961
|
|
21860
21962
|
<code class="ruby"></code>
|
21861
21963
|
</li>
|
21862
21964
|
|
21863
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21965
|
+
<li class="covered" data-hits="1" data-linenumber="30">
|
21864
21966
|
<span class="hits">1</span>
|
21865
21967
|
|
21866
21968
|
<code class="ruby">Encoding.default_external = Encoding::UTF_8</code>
|
21867
21969
|
</li>
|
21868
21970
|
|
21869
|
-
<li class="never" data-hits="" data-linenumber="
|
21971
|
+
<li class="never" data-hits="" data-linenumber="31">
|
21870
21972
|
|
21871
21973
|
|
21872
21974
|
<code class="ruby"></code>
|
21873
21975
|
</li>
|
21874
21976
|
|
21875
|
-
<li class="never" data-hits="" data-linenumber="
|
21977
|
+
<li class="never" data-hits="" data-linenumber="32">
|
21876
21978
|
|
21877
21979
|
|
21878
21980
|
<code class="ruby"># WPScan</code>
|
21879
21981
|
</li>
|
21880
21982
|
|
21881
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21983
|
+
<li class="covered" data-hits="1" data-linenumber="33">
|
21882
21984
|
<span class="hits">1</span>
|
21883
21985
|
|
21884
21986
|
<code class="ruby">module WPScan</code>
|
21885
21987
|
</li>
|
21886
21988
|
|
21887
|
-
<li class="covered" data-hits="1" data-linenumber="
|
21989
|
+
<li class="covered" data-hits="1" data-linenumber="34">
|
21888
21990
|
<span class="hits">1</span>
|
21889
21991
|
|
21890
21992
|
<code class="ruby"> include CMSScanner</code>
|
21891
21993
|
</li>
|
21892
21994
|
|
21893
|
-
<li class="never" data-hits="" data-linenumber="
|
21995
|
+
<li class="never" data-hits="" data-linenumber="35">
|
21894
21996
|
|
21895
21997
|
|
21896
21998
|
<code class="ruby"></code>
|
21897
21999
|
</li>
|
21898
22000
|
|
21899
|
-
<li class="covered" data-hits="1" data-linenumber="
|
22001
|
+
<li class="covered" data-hits="1" data-linenumber="36">
|
21900
22002
|
<span class="hits">1</span>
|
21901
22003
|
|
21902
22004
|
<code class="ruby"> APP_DIR = Pathname.new(__FILE__).dirname.join('..', 'app').expand_path</code>
|
21903
22005
|
</li>
|
21904
22006
|
|
21905
|
-
<li class="covered" data-hits="1" data-linenumber="
|
22007
|
+
<li class="covered" data-hits="1" data-linenumber="37">
|
21906
22008
|
<span class="hits">1</span>
|
21907
22009
|
|
21908
22010
|
<code class="ruby"> DB_DIR = File.join(Dir.home, '.wpscan', 'db')</code>
|
21909
22011
|
</li>
|
21910
22012
|
|
21911
|
-
<li class="never" data-hits="" data-linenumber="
|
22013
|
+
<li class="never" data-hits="" data-linenumber="38">
|
21912
22014
|
|
21913
22015
|
|
21914
22016
|
<code class="ruby"></code>
|
21915
22017
|
</li>
|
21916
22018
|
|
21917
|
-
<li class="never" data-hits="" data-linenumber="
|
22019
|
+
<li class="never" data-hits="" data-linenumber="39">
|
21918
22020
|
|
21919
22021
|
|
21920
22022
|
<code class="ruby"> # Override, otherwise it would be returned as 'wp_scan'</code>
|
21921
22023
|
</li>
|
21922
22024
|
|
21923
|
-
<li class="never" data-hits="" data-linenumber="
|
22025
|
+
<li class="never" data-hits="" data-linenumber="40">
|
21924
22026
|
|
21925
22027
|
|
21926
22028
|
<code class="ruby"> #</code>
|
21927
22029
|
</li>
|
21928
22030
|
|
21929
|
-
<li class="never" data-hits="" data-linenumber="
|
22031
|
+
<li class="never" data-hits="" data-linenumber="41">
|
21930
22032
|
|
21931
22033
|
|
21932
22034
|
<code class="ruby"> # @return [ String ]</code>
|
21933
22035
|
</li>
|
21934
22036
|
|
21935
|
-
<li class="covered" data-hits="1" data-linenumber="
|
22037
|
+
<li class="covered" data-hits="1" data-linenumber="42">
|
21936
22038
|
<span class="hits">1</span>
|
21937
22039
|
|
21938
22040
|
<code class="ruby"> def self.app_name</code>
|
21939
22041
|
</li>
|
21940
22042
|
|
21941
|
-
<li class="covered" data-hits="83" data-linenumber="
|
22043
|
+
<li class="covered" data-hits="83" data-linenumber="43">
|
21942
22044
|
<span class="hits">83</span>
|
21943
22045
|
|
21944
22046
|
<code class="ruby"> 'wpscan'</code>
|
21945
22047
|
</li>
|
21946
22048
|
|
21947
|
-
<li class="never" data-hits="" data-linenumber="
|
22049
|
+
<li class="never" data-hits="" data-linenumber="44">
|
21948
22050
|
|
21949
22051
|
|
21950
22052
|
<code class="ruby"> end</code>
|
21951
22053
|
</li>
|
21952
22054
|
|
21953
|
-
<li class="never" data-hits="" data-linenumber="
|
22055
|
+
<li class="never" data-hits="" data-linenumber="45">
|
21954
22056
|
|
21955
22057
|
|
21956
22058
|
<code class="ruby">end</code>
|
21957
22059
|
</li>
|
21958
22060
|
|
21959
|
-
<li class="never" data-hits="" data-linenumber="
|
22061
|
+
<li class="never" data-hits="" data-linenumber="46">
|
21960
22062
|
|
21961
22063
|
|
21962
22064
|
<code class="ruby"></code>
|
21963
22065
|
</li>
|
21964
22066
|
|
21965
|
-
<li class="covered" data-hits="1" data-linenumber="
|
22067
|
+
<li class="covered" data-hits="1" data-linenumber="47">
|
21966
22068
|
<span class="hits">1</span>
|
21967
22069
|
|
21968
22070
|
<code class="ruby">require "#{WPScan::APP_DIR}/app"</code>
|
@@ -24356,8 +24458,8 @@
|
|
24356
24458
|
<code class="ruby"> def self.db_data(identifier)</code>
|
24357
24459
|
</li>
|
24358
24460
|
|
24359
|
-
<li class="covered" data-hits="
|
24360
|
-
<span class="hits">
|
24461
|
+
<li class="covered" data-hits="52" data-linenumber="9">
|
24462
|
+
<span class="hits">52</span>
|
24361
24463
|
|
24362
24464
|
<code class="ruby"> db[identifier] || {}</code>
|
24363
24465
|
</li>
|
@@ -24386,8 +24488,8 @@
|
|
24386
24488
|
<code class="ruby"> def self.db</code>
|
24387
24489
|
</li>
|
24388
24490
|
|
24389
|
-
<li class="covered" data-hits="
|
24390
|
-
<span class="hits">
|
24491
|
+
<li class="covered" data-hits="58" data-linenumber="14">
|
24492
|
+
<span class="hits">58</span>
|
24391
24493
|
|
24392
24494
|
<code class="ruby"> @db ||= read_json_file(db_file)</code>
|
24393
24495
|
</li>
|
@@ -26930,8 +27032,8 @@
|
|
26930
27032
|
<code class="ruby"> def plugins_dir</code>
|
26931
27033
|
</li>
|
26932
27034
|
|
26933
|
-
<li class="covered" data-hits="
|
26934
|
-
<span class="hits">
|
27035
|
+
<li class="covered" data-hits="321" data-linenumber="40">
|
27036
|
+
<span class="hits">321</span>
|
26935
27037
|
|
26936
27038
|
<code class="ruby"> @plugins_dir ||= "#{content_dir}/plugins"</code>
|
26937
27039
|
</li>
|
@@ -27158,8 +27260,8 @@
|
|
27158
27260
|
<code class="ruby"> def url(path = nil)</code>
|
27159
27261
|
</li>
|
27160
27262
|
|
27161
|
-
<li class="covered" data-hits="
|
27162
|
-
<span class="hits">
|
27263
|
+
<li class="covered" data-hits="588" data-linenumber="78">
|
27264
|
+
<span class="hits">588</span>
|
27163
27265
|
|
27164
27266
|
<code class="ruby"> return @uri.to_s unless path</code>
|
27165
27267
|
</li>
|
@@ -27170,20 +27272,20 @@
|
|
27170
27272
|
<code class="ruby"></code>
|
27171
27273
|
</li>
|
27172
27274
|
|
27173
|
-
<li class="covered" data-hits="
|
27174
|
-
<span class="hits">
|
27275
|
+
<li class="covered" data-hits="459" data-linenumber="80">
|
27276
|
+
<span class="hits">459</span>
|
27175
27277
|
|
27176
27278
|
<code class="ruby"> if path =~ %r{wp\-content/plugins}i</code>
|
27177
27279
|
</li>
|
27178
27280
|
|
27179
|
-
<li class="covered" data-hits="
|
27180
|
-
<span class="hits">
|
27281
|
+
<li class="covered" data-hits="303" data-linenumber="81">
|
27282
|
+
<span class="hits">303</span>
|
27181
27283
|
|
27182
27284
|
<code class="ruby"> path.gsub!('wp-content/plugins', plugins_dir)</code>
|
27183
27285
|
</li>
|
27184
27286
|
|
27185
|
-
<li class="covered" data-hits="
|
27186
|
-
<span class="hits">
|
27287
|
+
<li class="covered" data-hits="156" data-linenumber="82">
|
27288
|
+
<span class="hits">156</span>
|
27187
27289
|
|
27188
27290
|
<code class="ruby"> elsif path =~ /wp\-content/i</code>
|
27189
27291
|
</li>
|
@@ -27194,8 +27296,8 @@
|
|
27194
27296
|
<code class="ruby"> path.gsub!('wp-content', content_dir)</code>
|
27195
27297
|
</li>
|
27196
27298
|
|
27197
|
-
<li class="covered" data-hits="
|
27198
|
-
<span class="hits">
|
27299
|
+
<li class="covered" data-hits="60" data-linenumber="84">
|
27300
|
+
<span class="hits">60</span>
|
27199
27301
|
|
27200
27302
|
<code class="ruby"> elsif path[0] != '/' && sub_dir</code>
|
27201
27303
|
</li>
|
@@ -27218,8 +27320,8 @@
|
|
27218
27320
|
<code class="ruby"></code>
|
27219
27321
|
</li>
|
27220
27322
|
|
27221
|
-
<li class="covered" data-hits="
|
27222
|
-
<span class="hits">
|
27323
|
+
<li class="covered" data-hits="459" data-linenumber="88">
|
27324
|
+
<span class="hits">459</span>
|
27223
27325
|
|
27224
27326
|
<code class="ruby"> super(path)</code>
|
27225
27327
|
</li>
|