cms_scanner 0.0.40 → 0.0.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c4b37ccad3760d463de8eaebf2bd9dd3c11df74
4
- data.tar.gz: e532f0a510747d99cebe122f00ffc209c90e4861
3
+ metadata.gz: 1b3d3e9abbb1a4ba227fd1ea88395d2e23c33e2a
4
+ data.tar.gz: 32a2b9929c10f34200b655827aa07dd57481802c
5
5
  SHA512:
6
- metadata.gz: 5fbb20fc97d62e99224db5142a05c35ab2092e41394759b87d1724a6acf4c832252de936f56f3f5da643e07ec4c3fd15a16fbeacbd3a6dd634995b8424654403
7
- data.tar.gz: e92192374822ccecbee941488b0ec5cda5a92061f6b6fd6a9a9fe3c358d602d3de427e8d3ab602e26280bb0e599f094a82c468906b0f723b69ea85978c40b413
6
+ metadata.gz: 9864ffc7778e4d3b70056967c41b4e721e0877ae476a4c11eea4791d15b009de863c7d2b01582cfac718e8e504530e4d99294b45a95733546609a872cc1c153f
7
+ data.tar.gz: ffb890e25c0b22e04892d3abee4559ee39d0bb617423d7f7fe17380136f80c9b0b1f3f5879714b5830d7d158b8ba7ebfa541cd48541771c7f131bf9c2e60a251
@@ -1,4 +1,4 @@
1
1
  # Version
2
2
  module CMSScanner
3
- VERSION = '0.0.40'.freeze
3
+ VERSION = '0.0.40.1'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cms_scanner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.40
4
+ version: 0.0.40.1
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-25 00:00:00.000000000 Z
11
+ date: 2018-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.16.2
33
+ version: 0.0.16.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.16.2
40
+ version: 0.0.16.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: public_suffix
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 0.59.1
215
+ version: 0.59.2
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 0.59.1
222
+ version: 0.59.2
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: simplecov
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -255,8 +255,6 @@ executables: []
255
255
  extensions: []
256
256
  extra_rdoc_files: []
257
257
  files:
258
- - LICENSE
259
- - README.md
260
258
  - app/app.rb
261
259
  - app/controllers.rb
262
260
  - app/controllers/core.rb
@@ -299,26 +297,6 @@ files:
299
297
  - app/views/json/core/version.erb
300
298
  - app/views/json/interesting_findings/findings.erb
301
299
  - app/views/json/scan_aborted.erb
302
- - cms_scanner.gemspec
303
- - example/.gitignore
304
- - example/.rspec
305
- - example/.rubocop.yml
306
- - example/.travis.yml
307
- - example/Gemfile
308
- - example/Rakefile
309
- - example/app/app.rb
310
- - example/app/controllers.rb
311
- - example/app/controllers/example.rb
312
- - example/app/views/cli/core/banner.erb
313
- - example/app/views/cli/example/scan_word.erb
314
- - example/app/views/json/core/banner.erb
315
- - example/app/views/json/example/scan_word.erb
316
- - example/bin/cmsscan
317
- - example/cmsscan.gemspec
318
- - example/lib/cmsscan.rb
319
- - example/lib/cmsscan/controller.rb
320
- - example/lib/cmsscan/target.rb
321
- - example/lib/cmsscan/version.rb
322
300
  - lib/cms_scanner.rb
323
301
  - lib/cms_scanner/browser.rb
324
302
  - lib/cms_scanner/browser/actions.rb
data/LICENSE DELETED
@@ -1,19 +0,0 @@
1
- Copyright (C) 2014-2015 - WPScanTeam
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to deal
5
- in the Software without restriction, including without limitation the rights
6
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- copies of the Software, and to permit persons to whom the Software is
8
- furnished to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in all
11
- copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- SOFTWARE.
data/README.md DELETED
@@ -1,27 +0,0 @@
1
- # CMSScanner
2
-
3
- [![Gem Version](https://badge.fury.io/rb/cms_scanner.svg)](https://badge.fury.io/rb/cms_scanner)
4
- [![Build Status](https://img.shields.io/travis/wpscanteam/CMSScanner.svg)](https://travis-ci.org/wpscanteam/CMSScanner)
5
- [![Coverage Status](https://img.shields.io/coveralls/wpscanteam/CMSScanner.svg)](https://coveralls.io/r/wpscanteam/CMSScanner)
6
- [![Code Climate](https://api.codeclimate.com/v1/badges/b90b7f9f6982792ef8d6/maintainability)](https://codeclimate.com/github/wpscanteam/CMSScanner/maintainability)
7
- [![Dependency Status](https://img.shields.io/gemnasium/wpscanteam/CMSScanner.svg)](https://gemnasium.com/wpscanteam/CMSScanner)
8
-
9
- The goal of this gem is to provide a quick and easy way to create a CMS/WebSite Scanner by acting like a Framework and providing classes, formatters etc.
10
-
11
- ## /!\ This gem is currently Experimental /!\
12
-
13
- ## A basic implementation example is available in the example folder.
14
-
15
- To start to play with it, copy all its files and folders into a new git repository and run `bundle install && rake install` inside it.
16
- It will create a `cmsscan` command that you can run against a target, ie `cmsscan --url https://www.google.com`
17
-
18
-
19
- Install Dependencies: `bundle install`
20
-
21
- ## Contributing
22
-
23
- 1. Fork it ( https://github.com/wpscanteam/CMSScanner/fork )
24
- 2. Create your feature branch (`git checkout -b my-new-feature`)
25
- 3. Commit your changes (`git commit -am 'Add some feature'`)
26
- 4. Push to the branch (`git push origin my-new-feature`)
27
- 5. Create new Pull Request
@@ -1,55 +0,0 @@
1
- lib = File.expand_path('../lib', __FILE__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
-
4
- require 'cms_scanner/version'
5
-
6
- Gem::Specification.new do |s|
7
- s.name = 'cms_scanner'
8
- s.version = CMSScanner::VERSION
9
- s.platform = Gem::Platform::RUBY
10
- s.required_ruby_version = '>= 2.3'
11
- s.authors = ['WPScanTeam']
12
- s.email = ['team@wpscan.org']
13
- s.summary = 'CMS Scanner Framework (experimental)'
14
- s.description = 'Framework to provide an easy way to implement CMS Scanners'
15
- s.homepage = 'https://github.com/wpscanteam/CMSScanner'
16
- s.license = 'MIT'
17
-
18
- s.files = `git ls-files -z`.split("\x0").reject do |file|
19
- file =~ %r{^(?:
20
- spec\/.*
21
- |Gemfile
22
- |Rakefile
23
- |\.rspec
24
- |\.gitignore
25
- |\.rubocop.yml
26
- |\.travis.yml
27
- )$}x
28
- end
29
-
30
- s.test_files = []
31
- s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
32
- s.require_path = 'lib'
33
-
34
- s.add_dependency 'nokogiri', '~> 1.8.0'
35
- s.add_dependency 'opt_parse_validator', '~> 0.0.16.2'
36
- s.add_dependency 'public_suffix', '~> 3.0.0'
37
- s.add_dependency 'ruby-progressbar', '~> 1.10.0'
38
- s.add_dependency 'typhoeus', '~> 1.3.0'
39
- s.add_dependency 'xmlrpc', '~> 0.3'
40
- s.add_dependency 'yajl-ruby', '~> 1.4.1' # Better JSON parser regarding memory usage
41
-
42
- # Already required by opt_parse_validator
43
- # so version restriction loosen to avoid potential future conflicts
44
- s.add_dependency 'activesupport', '~> 5.2'
45
- s.add_dependency 'addressable', '~> 2.5'
46
-
47
- s.add_development_dependency 'bundler', '~> 1.6'
48
- s.add_development_dependency 'coveralls', '~> 0.8.0'
49
- s.add_development_dependency 'rake', '~> 12.3'
50
- s.add_development_dependency 'rspec', '~> 3.8.0'
51
- s.add_development_dependency 'rspec-its', '~> 1.2.0'
52
- s.add_development_dependency 'rubocop', '~> 0.59.1'
53
- s.add_development_dependency 'simplecov', '~> 0.16.1'
54
- s.add_development_dependency 'webmock', '~> 3.4.2'
55
- end
@@ -1,13 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- coverage
6
- pkg
7
- rdoc
8
- Gemfile.lock
9
-
10
- # YARD artifacts
11
- .yardoc
12
- _yardoc
13
- doc/
@@ -1,2 +0,0 @@
1
- --color
2
- --fail-fast
@@ -1,20 +0,0 @@
1
- AllCops:
2
- Exclude:
3
- - '*.gemspec'
4
- - 'vendor/**/*'
5
- LineLength:
6
- Max: 120
7
- ClassVars:
8
- Enabled: false
9
- Style/RescueModifier:
10
- Enabled: false
11
- Style/SignalException:
12
- EnforcedStyle: semantic
13
- MethodLength:
14
- Max: 17
15
- Metrics/AbcSize:
16
- Max: 25
17
- Metrics/CyclomaticComplexity:
18
- Max: 10
19
- Metrics/PerceivedComplexity:
20
- Max: 9
@@ -1,21 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
- rvm:
5
- - 2.3.0
6
- - 2.3.1
7
- - 2.3.2
8
- - 2.3.3
9
- - 2.3.4
10
- - 2.4.0
11
- - 2.4.1
12
- - ruby-head
13
- before_install:
14
- - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
15
- - "gem update --system"
16
- matrix:
17
- allow_failures:
18
- - rvm: ruby-head
19
- script:
20
- - bundle exec rspec
21
- - bundle exec rubocop
@@ -1,2 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
@@ -1,9 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'rspec/core/rake_task'
3
- require 'rubocop/rake_task'
4
-
5
- RuboCop::RakeTask.new
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- # Run rubocop & rspec before the build
9
- task build: %i[rubocop spec]
@@ -1 +0,0 @@
1
- require_relative 'controllers'
@@ -1 +0,0 @@
1
- require_relative 'controllers/example'
@@ -1,36 +0,0 @@
1
- module CMSScan
2
- module Controller
3
- # Example Controller
4
- class Example < CMSScanner::Controller::Core
5
- # @return [ Array<OptParseValidator::Opt> ]
6
- def cli_options
7
- [
8
- OptString.new(['--dummy VALUE', 'Dummy CLI Option'])
9
- ]
10
- end
11
-
12
- def before_scan
13
- # Anything to do before ?
14
- end
15
-
16
- def run
17
- # Let's check and display whether or not the word 'scan' is present in the homepage of the target
18
-
19
- is_present = target.homepage_res.body =~ /scan/ ? true : false
20
-
21
- output('scan_word', is_present: is_present)
22
- end
23
-
24
- # Alternative way of doing it
25
- def run2
26
- @is_present = Browser.get(target.homepage_url).body =~ /scan/ ? true : false
27
-
28
- output('scan_word')
29
- end
30
-
31
- def after_scan
32
- # Anything after ?
33
- end
34
- end
35
- end
36
- end
@@ -1,3 +0,0 @@
1
-
2
- CMS Scanner Example <%= CMSScan::VERSION %>
3
-
@@ -1,5 +0,0 @@
1
- <% if @is_present -%>
2
- <%= warning_icon %> The word 'scan' is present in the homepage
3
- <% else -%>
4
- <%= notice_icon %> The word 'scan' was not detected in the homepage
5
- <% end %>
@@ -1,3 +0,0 @@
1
- "banner": {
2
- "version": <%= CMSScan::VERSION.to_json %>
3
- },
@@ -1 +0,0 @@
1
- "scan_word_present": <%= @is_present.to_json %>,
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'cmsscan'
4
-
5
- CMSScan::Scan.new do |s|
6
- s.controllers << CMSScan::Controller::Example.new
7
-
8
- s.run
9
- end
@@ -1,51 +0,0 @@
1
- # coding: utf-8
2
-
3
- lib = File.expand_path('../lib', __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
-
6
- require 'cmsscan/version'
7
-
8
- Gem::Specification.new do |s|
9
- s.name = 'cmsscan'
10
- s.version = CMSScan::VERSION
11
- s.platform = Gem::Platform::RUBY
12
- s.required_ruby_version = '>= 2.1.0'
13
- s.authors = ['WPScanTeam']
14
- s.date = Time.now.utc.strftime('%Y-%m-%d')
15
- s.email = ['team@wpscan.org']
16
- s.summary = 'CMSScan Gem Example'
17
- s.description = 'CMSScanner Implementation Example'
18
- s.homepage = 'https://github.com/wpscanteam/CMSScanner'
19
- s.license = 'MIT'
20
-
21
- s.files = `git ls-files -z`.split("\x0").reject do |file|
22
- file =~ %r{^(?:
23
- spec\/.*
24
- |Gemfile
25
- |Rakefile
26
- |\.rspec
27
- |\.gitignore
28
- |\.rubocop.yml
29
- |\.travis.yml
30
- )$}x
31
- end
32
-
33
- s.test_files = []
34
- s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
35
- s.require_path = 'lib'
36
-
37
- s.add_dependency 'cms_scanner', '~> 0.0.39.0'
38
-
39
- # Already required by CMSScanner, so version restrictions loosen
40
- s.add_dependency 'activesupport', '~> 5.1'
41
- s.add_dependency 'yajl-ruby', '~> 1.3'
42
-
43
- s.add_development_dependency 'bundler', '~> 1.6'
44
- s.add_development_dependency 'coveralls', '~> 0.8.0'
45
- s.add_development_dependency 'rake', '~> 12.0'
46
- s.add_development_dependency 'rspec', '~> 3.7.0'
47
- s.add_development_dependency 'rspec-its', '~> 1.2.0'
48
- s.add_development_dependency 'rubocop', '~> 0.52.0'
49
- s.add_development_dependency 'simplecov', '~> 0.14.0' # Can't update to 0.15 as it breaks coveralls dep
50
- s.add_development_dependency 'webmock', '~> 3.3.0'
51
- end
@@ -1,35 +0,0 @@
1
- # Gems
2
- require 'cms_scanner'
3
- require 'yajl/json_gem'
4
- require 'addressable/uri'
5
- require 'active_support/all'
6
- # Standard Lib
7
- require 'uri'
8
- require 'time'
9
- require 'readline'
10
- require 'securerandom'
11
- # Custom Libs
12
- require 'cmsscan/target'
13
- require 'cmsscan/version'
14
- require 'cmsscan/controller'
15
-
16
- Encoding.default_external = Encoding::UTF_8
17
-
18
- # CMSScan
19
- module CMSScan
20
- include CMSScanner
21
-
22
- APP_DIR = Pathname.new(__FILE__).dirname.join('..', 'app').expand_path
23
- # Not needed in this example
24
- # DB_DIR = File.join(Dir.home, '.cmsscan', 'db')
25
-
26
- # Override, otherwise it would be returned as 'cms_scan'
27
- # doesn't really matter in this example.
28
- #
29
- # @return [ String ]
30
- def self.app_name
31
- 'cmsscan'
32
- end
33
- end
34
-
35
- require "#{CMSScan::APP_DIR}/app"
@@ -1,8 +0,0 @@
1
- module CMSScan
2
- # Needed to load at least the Core controller
3
- # Otherwise, the following error will be raised:
4
- # `initialize': uninitialized constant CMSScan::Controller::Core (NameError)
5
- module Controller
6
- include CMSScanner::Controller
7
- end
8
- end
@@ -1,6 +0,0 @@
1
- module CMSScan
2
- # Custom Target Class
3
- class Target < CMSScanner::Target
4
- # Put your own methods there
5
- end
6
- end
@@ -1,4 +0,0 @@
1
- # Version
2
- module CMSScan
3
- VERSION = '1.0'.freeze
4
- end