wpscan 3.3.1 → 3.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b77bc527248669714e48a9a4d3549575b029006c
4
- data.tar.gz: 68e93f30dc5261b5b7243068141ac1cc4c5de17a
3
+ metadata.gz: 8dda343622bf0697b7550b1254b6ca134d008dd6
4
+ data.tar.gz: 37e9aea11ee2b721556f7d79f46f5a9e0c51cbb4
5
5
  SHA512:
6
- metadata.gz: b03bb631c5ef92997b39be32bb14aed714b0a080f4d3295a3bcda867d2be642e98b0694f3c20d394aa516a104dc53f48bc61a7ffdc9081ab1e0887c47ea63661
7
- data.tar.gz: 17af60085bfdc2bccb8fd01fcb91257c91530e577b13a7b84e64b66d7c9b1bea2ecc838bc7c33d83b8b9874a53db72036329b1dada36970ab7b0ff3a08059f75
6
+ metadata.gz: 441dc0b1704f815839579727c46f7c5b3f32dc4f4e80fe6b06f60397494f28ff29ce5d0efdd70b2d22cdad7c78a21a175d89c58f5910447aa11832906ac97654
7
+ data.tar.gz: c6513a30c849d6de42da986703caa8810c3d45dddfadb96e661d1ffdc661bf57b4425a7f9b035bcfd0edd566b14cd481c1ecc9555343033d68154eddd4aedc1e
data/LICENSE ADDED
@@ -0,0 +1,74 @@
1
+ WPScan Public Source License
2
+
3
+ The WPScan software (henceforth referred to simply as "WPScan") is dual-licensed - Copyright 2011-2018 WPScan Team.
4
+
5
+ Cases that include commercialization of WPScan require a commercial, non-free license. Otherwise, WPScan can be used without charge under the terms set out below.
6
+
7
+ 1. Definitions
8
+
9
+ 1.1 “License” means this document.
10
+ 1.2 “Contributor” means each individual or legal entity that creates, contributes to the creation of, or owns WPScan.
11
+ 1.3 “WPScan Team” means WPScan’s core developers, an updated list of whom can be found within the CREDITS file.
12
+
13
+ 2. Commercialization
14
+
15
+ A commercial use is one intended for commercial advantage or monetary compensation.
16
+
17
+ Example cases of commercialization are:
18
+
19
+ - Using WPScan to provide commercial managed/Software-as-a-Service services.
20
+ - Distributing WPScan as a commercial product or as part of one.
21
+ - Using WPScan as a value added service/product.
22
+
23
+ Example cases which do not require a commercial license, and thus fall under the terms set out below, include (but are not limited to):
24
+
25
+ - Penetration testers (or penetration testing organizations) using WPScan as part of their assessment toolkit.
26
+ - Penetration Testing Linux Distributions including but not limited to Kali Linux, SamuraiWTF, BackBox Linux.
27
+ - Using WPScan to test your own systems.
28
+ - Any non-commercial use of WPScan.
29
+
30
+ If you need to purchase a commercial license or are unsure whether you need to purchase a commercial license contact us - team@wpscan.org.
31
+
32
+ We may grant commercial licenses at no monetary cost at our own discretion if the commercial usage is deemed by the WPScan Team to significantly benefit WPScan.
33
+
34
+ Free-use Terms and Conditions;
35
+
36
+ 3. Redistribution
37
+
38
+ Redistribution is permitted under the following conditions:
39
+
40
+ - Unmodified License is provided with WPScan.
41
+ - Unmodified Copyright notices are provided with WPScan.
42
+ - Does not conflict with the commercialization clause.
43
+
44
+ 4. Copying
45
+
46
+ Copying is permitted so long as it does not conflict with the Redistribution clause.
47
+
48
+ 5. Modification
49
+
50
+ Modification is permitted so long as it does not conflict with the Redistribution clause.
51
+
52
+ 6. Contributions
53
+
54
+ Any Contributions assume the Contributor grants the WPScan Team the unlimited, non-exclusive right to reuse, modify and relicense the Contributor's content.
55
+
56
+ 7. Support
57
+
58
+ WPScan is provided under an AS-IS basis and without any support, updates or maintenance. Support, updates and maintenance may be given according to the sole discretion of the WPScan Team.
59
+
60
+ 8. Disclaimer of Warranty
61
+
62
+ WPScan is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the WPScan is free of defects, merchantable, fit for a particular purpose or non-infringing.
63
+
64
+ 9. Limitation of Liability
65
+
66
+ To the extent permitted under Law, WPScan is provided under an AS-IS basis. The WPScan Team shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred as a result of WPScan's actions, failure, bugs and/or any other interaction between WPScan and end-equipment, computers, other software or any 3rd party, end-equipment, computer or services.
67
+
68
+ 10. Disclaimer
69
+
70
+ Running WPScan against websites without prior mutual consent may be illegal in your country. The WPScan Team accept no liability and are not responsible for any misuse or damage caused by WPScan.
71
+
72
+ 11. Trademark
73
+
74
+ The "wpscan" term is a registered trademark. This License does not grant the use of the "wpscan" trademark or the use of the WPScan logo.
@@ -0,0 +1,157 @@
1
+ ![alt text](https://raw.githubusercontent.com/wpscanteam/wpscan/gh-pages/images/wpscan_logo.png "WPScan - WordPress Security Scanner")
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/wpscan.svg)](https://badge.fury.io/rb/wpscan)
4
+ [![Build Status](https://travis-ci.org/wpscanteam/wpscan.svg?branch=master)](https://travis-ci.org/wpscanteam/wpscan)
5
+ [![Code Climate](https://codeclimate.com/github/wpscanteam/wpscan/badges/gpa.svg)](https://codeclimate.com/github/wpscanteam/wpscan)
6
+ [![Patreon Donate](https://img.shields.io/badge/patreon-donate-green.svg)](https://www.patreon.com/wpscan)
7
+
8
+ # INSTALL
9
+
10
+ ## Prerequisites:
11
+
12
+ - Ruby >= 2.3 - Recommended: latest
13
+ - Curl >= 7.21 - Recommended: latest - FYI the 7.29 has a segfault
14
+ - RubyGems - Recommended: latest
15
+
16
+ ### From RubyGems:
17
+
18
+ ```
19
+ gem install wpscan
20
+ ```
21
+
22
+ ### From sources:
23
+
24
+ Prerequisites: Git
25
+
26
+ ```
27
+ git clone https://github.com/wpscanteam/wpscan
28
+
29
+ cd wpscan/
30
+
31
+ bundle install && rake install
32
+ ```
33
+
34
+ # Docker
35
+
36
+ Pull the repo with ```docker pull wpscanteam/wpscan```
37
+
38
+ # Usage
39
+
40
+ ```wpscan --url blog.tld``` This will scan the blog using default options with a good compromise between speed and accuracy. For example, the plugins will be checked passively but their version with a mixed detection mode (passively + aggressively). Potential config backup files will also be checked, along with other interesting findings. If a more stealthy approach is required, then ```wpscan --stealthy --url blog.tld``` can be used.
41
+ As a result, when using the ```--enumerate``` option, don't forget to set the ```--plugins-detection``` accordingly, as its default is 'passive'.
42
+
43
+ For more options, open a terminal and type ```wpscan --help``` (if you built wpscan from the source, you should type the command outside of the git repo)
44
+
45
+ The DB is located at ~/.wpscan/db
46
+
47
+ WPScan can load all options (including the --url) from configuration files, the following locations are checked (order: first to last):
48
+
49
+ * ~/.wpscan/cli_options.json
50
+ * ~/.wpscan/cli_options.yml
51
+ * pwd/.wpscan/cli_options.json
52
+ * pwd/.wpscan/cli_options.yml
53
+
54
+ If those files exist, options from them will be loaded and overridden if found twice.
55
+
56
+ e.g:
57
+
58
+ ~/.wpscan/cli_options.yml:
59
+ ```
60
+ proxy: 'http://127.0.0.1:8080'
61
+ verbose: true
62
+ ```
63
+
64
+ pwd/.wpscan/cli_options.yml:
65
+ ```
66
+ proxy: 'socks5://127.0.0.1:9090'
67
+ url: 'http://target.tld'
68
+ ```
69
+
70
+ Running ```wpscan``` in the current directory (pwd), is the same as ```wpscan -v --proxy socks5://127.0.0.1:9090 --url http://target.tld```
71
+
72
+ # PROJECT HOME
73
+
74
+ [https://wpscan.org](https://wpscan.org)
75
+
76
+ # VULNERABILITY DATABASE
77
+
78
+ [https://wpvulndb.com](https://wpvulndb.com)
79
+
80
+ # LICENSE
81
+
82
+ ## WPScan Public Source License
83
+
84
+ The WPScan software (henceforth referred to simply as "WPScan") is dual-licensed - Copyright 2011-2018 WPScan Team.
85
+
86
+ Cases that include commercialization of WPScan require a commercial, non-free license. Otherwise, WPScan can be used without charge under the terms set out below.
87
+
88
+ ### 1. Definitions
89
+
90
+ 1.1 "License" means this document.
91
+
92
+ 1.2 "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns WPScan.
93
+
94
+ 1.3 "WPScan Team" means WPScan’s core developers, an updated list of whom can be found within the CREDITS file.
95
+
96
+ ### 2. Commercialization
97
+
98
+ A commercial use is one intended for commercial advantage or monetary compensation.
99
+
100
+ Example cases of commercialization are:
101
+
102
+ - Using WPScan to provide commercial managed/Software-as-a-Service services.
103
+ - Distributing WPScan as a commercial product or as part of one.
104
+ - Using WPScan as a value added service/product.
105
+
106
+ Example cases which do not require a commercial license, and thus fall under the terms set out below, include (but are not limited to):
107
+
108
+ - Penetration testers (or penetration testing organizations) using WPScan as part of their assessment toolkit.
109
+ - Penetration Testing Linux Distributions including but not limited to Kali Linux, SamuraiWTF, BackBox Linux.
110
+ - Using WPScan to test your own systems.
111
+ - Any non-commercial use of WPScan.
112
+
113
+ If you need to purchase a commercial license or are unsure whether you need to purchase a commercial license contact us - team@wpscan.org.
114
+
115
+ We may grant commercial licenses at no monetary cost at our own discretion if the commercial usage is deemed by the WPScan Team to significantly benefit WPScan.
116
+
117
+ Free-use Terms and Conditions;
118
+
119
+ ### 3. Redistribution
120
+
121
+ Redistribution is permitted under the following conditions:
122
+
123
+ - Unmodified License is provided with WPScan.
124
+ - Unmodified Copyright notices are provided with WPScan.
125
+ - Does not conflict with the commercialization clause.
126
+
127
+ ### 4. Copying
128
+
129
+ Copying is permitted so long as it does not conflict with the Redistribution clause.
130
+
131
+ ### 5. Modification
132
+
133
+ Modification is permitted so long as it does not conflict with the Redistribution clause.
134
+
135
+ ### 6. Contributions
136
+
137
+ Any Contributions assume the Contributor grants the WPScan Team the unlimited, non-exclusive right to reuse, modify and relicense the Contributor's content.
138
+
139
+ ### 7. Support
140
+
141
+ WPScan is provided under an AS-IS basis and without any support, updates or maintenance. Support, updates and maintenance may be given according to the sole discretion of the WPScan Team.
142
+
143
+ ### 8. Disclaimer of Warranty
144
+
145
+ WPScan is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the WPScan is free of defects, merchantable, fit for a particular purpose or non-infringing.
146
+
147
+ ### 9. Limitation of Liability
148
+
149
+ To the extent permitted under Law, WPScan is provided under an AS-IS basis. The WPScan Team shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred as a result of WPScan's actions, failure, bugs and/or any other interaction between WPScan and end-equipment, computers, other software or any 3rd party, end-equipment, computer or services.
150
+
151
+ ### 10. Disclaimer
152
+
153
+ Running WPScan against websites without prior mutual consent may be illegal in your country. The WPScan Team accept no liability and are not responsible for any misuse or damage caused by WPScan.
154
+
155
+ ### 11. Trademark
156
+
157
+ The "wpscan" term is a registered trademark. This License does not grant the use of the "wpscan" trademark or the use of the WPScan logo.
@@ -5,15 +5,15 @@ module WPScan
5
5
  # @return [ Array<OptParseValidator::Opt> ]
6
6
  def cli_options
7
7
  [OptURL.new(['--url URL', 'The URL of the blog to scan'],
8
- required_unless: %i[update help version], default_protocol: 'http')] +
8
+ required_unless: %i[update help hh version], default_protocol: 'http')] +
9
9
  super.drop(1) + # delete the --url from CMSScanner
10
10
  [
11
11
  OptChoice.new(['--server SERVER', 'Force the supplied server module to be loaded'],
12
12
  choices: %w[apache iis nginx],
13
- normalize: %i[downcase to_sym]),
13
+ normalize: %i[downcase to_sym],
14
+ advanced: true),
14
15
  OptBoolean.new(['--force', 'Do not check if the target is running WordPress']),
15
- OptBoolean.new(['--[no-]update', 'Wether or not to update the Database'],
16
- required_unless: %i[url help version])
16
+ OptBoolean.new(['--[no-]update', 'Whether or not to update the Database'])
17
17
  ]
18
18
  end
19
19
 
@@ -13,7 +13,7 @@ module WPScan
13
13
  def cli_enum_choices
14
14
  [
15
15
  OptMultiChoices.new(
16
- ['--enumerate [OPTS]', '-e', 'Enumeration Process'],
16
+ ['-e', '--enumerate [OPTS]', 'Enumeration Process'],
17
17
  choices: {
18
18
  vp: OptBoolean.new(['--vulnerable-plugins']),
19
19
  ap: OptBoolean.new(['--all-plugins']),
@@ -25,7 +25,10 @@ module WPScan
25
25
  cb: OptBoolean.new(['--config-backups']),
26
26
  dbe: OptBoolean.new(['--db-exports']),
27
27
  u: OptIntegerRange.new(['--users', 'User IDs range. e.g: u1-5'], value_if_empty: '1-10'),
28
- m: OptIntegerRange.new(['--medias', 'Media IDs range. e.g m1-15'], value_if_empty: '1-100')
28
+ m: OptIntegerRange.new(['--medias',
29
+ 'Media IDs range. e.g m1-15',
30
+ 'Note: Permalink setting must be set to "Plain" for those to be detected'],
31
+ value_if_empty: '1-100')
29
32
  },
30
33
  value_if_empty: 'vp,vt,tt,cb,dbe,u,m',
31
34
  incompatible: [%i[vp ap p], %i[vt at t]],
@@ -45,7 +48,7 @@ module WPScan
45
48
  # @return [ Array<OptParseValidator::OptBase> ]
46
49
  def cli_plugins_opts
47
50
  [
48
- OptSmartList.new(['--plugins-list LIST', 'List of plugins to enumerate']),
51
+ OptSmartList.new(['--plugins-list LIST', 'List of plugins to enumerate'], advanced: true),
49
52
  OptChoice.new(
50
53
  ['--plugins-detection MODE',
51
54
  'Use the supplied mode to enumerate Plugins, instead of the global (--detection-mode) mode.'],
@@ -54,7 +57,8 @@ module WPScan
54
57
  OptBoolean.new(
55
58
  ['--plugins-version-all',
56
59
  'Check all the plugins version locations according to the choosen mode (--detection-mode, ' \
57
- '--plugins-detection and --plugins-version-detection)']
60
+ '--plugins-detection and --plugins-version-detection)'],
61
+ advanced: true
58
62
  ),
59
63
  OptChoice.new(
60
64
  ['--plugins-version-detection MODE',
@@ -68,22 +72,23 @@ module WPScan
68
72
  # @return [ Array<OptParseValidator::OptBase> ]
69
73
  def cli_themes_opts
70
74
  [
71
- OptSmartList.new(['--themes-list LIST', 'List of themes to enumerate']),
75
+ OptSmartList.new(['--themes-list LIST', 'List of themes to enumerate'], advanced: true),
72
76
  OptChoice.new(
73
77
  ['--themes-detection MODE',
74
78
  'Use the supplied mode to enumerate Themes, instead of the global (--detection-mode) mode.'],
75
- choices: %w[mixed passive aggressive], normalize: :to_sym
79
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
76
80
  ),
77
81
  OptBoolean.new(
78
82
  ['--themes-version-all',
79
83
  'Check all the themes version locations according to the choosen mode (--detection-mode, ' \
80
- '--themes-detection and --themes-version-detection)']
84
+ '--themes-detection and --themes-version-detection)'],
85
+ advanced: true
81
86
  ),
82
87
  OptChoice.new(
83
88
  ['--themes-version-detection MODE',
84
89
  'Use the supplied mode to check themes versions instead of the --detection-mode ' \
85
90
  'or --themes-detection modes.'],
86
- choices: %w[mixed passive aggressive], normalize: :to_sym
91
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
87
92
  )
88
93
  ]
89
94
  end
@@ -93,12 +98,12 @@ module WPScan
93
98
  [
94
99
  OptFilePath.new(
95
100
  ['--timthumbs-list FILE-PATH', 'List of timthumbs\' location to use'],
96
- exists: true, default: File.join(DB_DIR, 'timthumbs-v3.txt')
101
+ exists: true, default: File.join(DB_DIR, 'timthumbs-v3.txt'), advanced: true
97
102
  ),
98
103
  OptChoice.new(
99
104
  ['--timthumbs-detection MODE',
100
105
  'Use the supplied mode to enumerate Timthumbs, instead of the global (--detection-mode) mode.'],
101
- choices: %w[mixed passive aggressive], normalize: :to_sym
106
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
102
107
  )
103
108
  ]
104
109
  end
@@ -108,12 +113,12 @@ module WPScan
108
113
  [
109
114
  OptFilePath.new(
110
115
  ['--config-backups-list FILE-PATH', 'List of config backups\' filenames to use'],
111
- exists: true, default: File.join(DB_DIR, 'config_backups.txt')
116
+ exists: true, default: File.join(DB_DIR, 'config_backups.txt'), advanced: true
112
117
  ),
113
118
  OptChoice.new(
114
119
  ['--config-backups-detection MODE',
115
120
  'Use the supplied mode to enumerate Config Backups, instead of the global (--detection-mode) mode.'],
116
- choices: %w[mixed passive aggressive], normalize: :to_sym
121
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
117
122
  )
118
123
  ]
119
124
  end
@@ -123,12 +128,12 @@ module WPScan
123
128
  [
124
129
  OptFilePath.new(
125
130
  ['--db-exports-list FILE-PATH', 'List of DB exports\' paths to use'],
126
- exists: true, default: File.join(DB_DIR, 'db_exports.txt')
131
+ exists: true, default: File.join(DB_DIR, 'db_exports.txt'), advanced: true
127
132
  ),
128
133
  OptChoice.new(
129
134
  ['--db-exports-detection MODE',
130
135
  'Use the supplied mode to enumerate DB Exports, instead of the global (--detection-mode) mode.'],
131
- choices: %w[mixed passive aggressive], normalize: :to_sym
136
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
132
137
  )
133
138
  ]
134
139
  end
@@ -139,7 +144,7 @@ module WPScan
139
144
  OptChoice.new(
140
145
  ['--medias-detection MODE',
141
146
  'Use the supplied mode to enumerate Medias, instead of the global (--detection-mode) mode.'],
142
- choices: %w[mixed passive aggressive], normalize: :to_sym
147
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
143
148
  )
144
149
  ]
145
150
  end
@@ -149,12 +154,13 @@ module WPScan
149
154
  [
150
155
  OptSmartList.new(
151
156
  ['--users-list LIST',
152
- 'List of users to check during the users enumeration from the Login Error Messages']
157
+ 'List of users to check during the users enumeration from the Login Error Messages'],
158
+ advanced: true
153
159
  ),
154
160
  OptChoice.new(
155
161
  ['--users-detection MODE',
156
162
  'Use the supplied mode to enumerate Users, instead of the global (--detection-mode) mode.'],
157
- choices: %w[mixed passive aggressive], normalize: :to_sym
163
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
158
164
  )
159
165
  ]
160
166
  end
@@ -146,7 +146,10 @@ module WPScan
146
146
  def enum_medias
147
147
  opts = default_opts('medias').merge(range: parsed_options[:enumerate][:medias])
148
148
 
149
- output('@info', msg: 'Enumerating Medias') if user_interaction?
149
+ if user_interaction?
150
+ output('@info', msg: 'Enumerating Medias (Permalink setting must be set to "Plain" for those to be detected)')
151
+ end
152
+
150
153
  output('medias', medias: target.medias(opts))
151
154
  end
152
155
 
@@ -7,8 +7,7 @@ module WPScan
7
7
  OptChoice.new(
8
8
  ['--main-theme-detection MODE',
9
9
  'Use the supplied mode for the Main theme detection, instead of the global (--detection-mode) mode.'],
10
- choices: %w[mixed passive aggressive],
11
- normalize: :to_sym
10
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
12
11
  )
13
12
  ]
14
13
  end
@@ -4,13 +4,12 @@ module WPScan
4
4
  class WpVersion < CMSScanner::Controller::Base
5
5
  def cli_options
6
6
  [
7
- OptBoolean.new(['--wp-version-all', 'Check all the version locations']),
7
+ OptBoolean.new(['--wp-version-all', 'Check all the version locations'], advanced: true),
8
8
  OptChoice.new(
9
9
  ['--wp-version-detection MODE',
10
10
  'Use the supplied mode for the WordPress version detection, ' \
11
11
  'instead of the global (--detection-mode) mode.'],
12
- choices: %w[mixed passive aggressive],
13
- normalize: :to_sym
12
+ choices: %w[mixed passive aggressive], normalize: :to_sym, advanced: true
14
13
  )
15
14
  ]
16
15
  end
@@ -1,7 +1,7 @@
1
1
  module WPScan
2
2
  module Finders
3
3
  module Medias
4
- # Medias Finder
4
+ # Medias Finder, see https://github.com/wpscanteam/wpscan/issues/172
5
5
  class AttachmentBruteForcing < CMSScanner::Finders::Finder
6
6
  include CMSScanner::Finders::Finder::Enumerator
7
7
 
@@ -50,5 +50,10 @@ module WPScan
50
50
 
51
51
  @vulnerabilities
52
52
  end
53
+
54
+ # @return [ String ]
55
+ def release_date
56
+ @release_date ||= db_data['release_date']
57
+ end
53
58
  end
54
59
  end
@@ -1,5 +1,5 @@
1
1
  <% if @version -%>
2
- <%= info_icon %> WordPress version <%= @version.number %> identified.
2
+ <%= info_icon %> WordPress version <%= @version.number %> identified (Released on <%= @version.release_date %>).
3
3
  <%= render('@finding', item: @version) -%>
4
4
  <% else -%>
5
5
  <%= notice_icon %> The WordPress version could not be detected.
@@ -1,6 +1,7 @@
1
1
  <% if @version -%>
2
2
  "version": {
3
3
  "number": <%= @version.number.to_json %>,
4
+ "release_date": <%= @version.release_date.to_json %>,
4
5
  <%= render('@finding', item: @version) -%>
5
6
  },
6
7
  <% else -%>
@@ -1,4 +1,4 @@
1
1
  # Version
2
2
  module WPScan
3
- VERSION = '3.3.1'.freeze
3
+ VERSION = '3.3.2'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wpscan
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 3.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - WPScanTeam
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-28 00:00:00.000000000 Z
11
+ date: 2018-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cms_scanner
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.40.1
19
+ version: 0.0.40.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.40.1
26
+ version: 0.0.40.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -172,6 +172,8 @@ executables:
172
172
  extensions: []
173
173
  extra_rdoc_files: []
174
174
  files:
175
+ - LICENSE
176
+ - README.md
175
177
  - app/app.rb
176
178
  - app/controllers.rb
177
179
  - app/controllers/aliases.rb