cms_scanner 0.0.18 → 0.0.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/core.rb +4 -3
- data/app/views/cli/core/finished.erb +1 -0
- data/app/views/json/core/finished.erb +1 -0
- data/cms_scanner.gemspec +13 -3
- data/lib/cms_scanner.rb +14 -2
- data/lib/cms_scanner/finders/finder.rb +16 -7
- data/lib/cms_scanner/finders/finder/enumerator.rb +4 -28
- data/lib/cms_scanner/finders/finder/fingerprinter.rb +60 -0
- data/lib/cms_scanner/finders/finding.rb +1 -1
- data/lib/cms_scanner/target/scope.rb +4 -1
- data/lib/cms_scanner/target/server/generic.rb +1 -1
- data/lib/cms_scanner/typhoeus/hydra.rb +10 -0
- data/lib/cms_scanner/version.rb +1 -1
- metadata +5 -203
- data/.gitignore +0 -7
- data/.rspec +0 -2
- data/.rubocop.yml +0 -10
- data/.travis.yml +0 -17
- data/Gemfile +0 -6
- data/Rakefile +0 -9
- data/spec/app/controllers/core_spec.rb +0 -167
- data/spec/app/controllers/interesting_files_spec.rb +0 -70
- data/spec/app/finders/interesting_files/fantastico_fileslist_spec.rb +0 -66
- data/spec/app/finders/interesting_files/headers_spec.rb +0 -36
- data/spec/app/finders/interesting_files/robots_txt_spec.rb +0 -54
- data/spec/app/finders/interesting_files/search_replace_db_2_spec.rb +0 -53
- data/spec/app/finders/interesting_files/xml_rpc_spec.rb +0 -136
- data/spec/app/finders/interesting_files_spec.rb +0 -12
- data/spec/app/formatters/cli_no_colour_spec.rb +0 -14
- data/spec/app/formatters/cli_spec.rb +0 -30
- data/spec/app/formatters/json_spec.rb +0 -30
- data/spec/app/models/fantastico_fileslist_spec.rb +0 -31
- data/spec/app/models/headers_spec.rb +0 -51
- data/spec/app/models/interesting_file_spec.rb +0 -69
- data/spec/app/models/robots_txt_spec.rb +0 -27
- data/spec/app/models/version_spec.rb +0 -51
- data/spec/app/models/xml_rpc_spec.rb +0 -46
- data/spec/app/views_spec.rb +0 -35
- data/spec/cache/.gitignore +0 -4
- data/spec/dummy_finding.rb +0 -25
- data/spec/dummy_independent_finders.rb +0 -26
- data/spec/dummy_unique_finders.rb +0 -33
- data/spec/fixtures/finders/interesting_files/fantastico_fileslist/fantastico_fileslist.txt +0 -12
- data/spec/fixtures/finders/interesting_files/file.txt +0 -4
- data/spec/fixtures/finders/interesting_files/headers/interesting.txt +0 -16
- data/spec/fixtures/finders/interesting_files/headers/no_interesting.txt +0 -12
- data/spec/fixtures/finders/interesting_files/robots_txt/robots.txt +0 -10
- data/spec/fixtures/finders/interesting_files/search_replace_db_2/searchreplacedb2.php +0 -188
- data/spec/fixtures/finders/interesting_files/xml_rpc/homepage_in_scope_pingback.html +0 -7
- data/spec/fixtures/finders/interesting_files/xml_rpc/homepage_out_of_scope_pingback.html +0 -7
- data/spec/fixtures/finders/interesting_files/xml_rpc/xmlrpc.php +0 -1
- data/spec/fixtures/output.txt +0 -0
- data/spec/fixtures/target/comments.html +0 -29
- data/spec/fixtures/target/platform/php/debug_log/debug.log +0 -2
- data/spec/fixtures/target/platform/php/fpd/wp_rss_functions.php +0 -2
- data/spec/fixtures/target/scope/index.html +0 -23
- data/spec/fixtures/target/server/apache/directory_listing/2.2.16.html +0 -15
- data/spec/fixtures/target/server/generic/server/apache/basic.txt +0 -5
- data/spec/fixtures/target/server/generic/server/iis/basic.txt +0 -6
- data/spec/fixtures/target/server/generic/server/not_detected.txt +0 -3
- data/spec/fixtures/target/server/iis/directory_listing/no_parent.html +0 -3
- data/spec/fixtures/target/server/iis/directory_listing/with_parent.html +0 -3
- data/spec/fixtures/views/base/ctrl/local.erb +0 -1
- data/spec/fixtures/views/base/ctrl/test.erb +0 -3
- data/spec/fixtures/views/base/global.erb +0 -1
- data/spec/fixtures/views/base/test.erb +0 -2
- data/spec/fixtures/views/based_format/test.erb +0 -1
- data/spec/fixtures/views/json/render_me.erb +0 -4
- data/spec/lib/browser_spec.rb +0 -140
- data/spec/lib/cache/file_store_spec.rb +0 -100
- data/spec/lib/cache/typhoeus_spec.rb +0 -28
- data/spec/lib/cms_scanner_spec.rb +0 -49
- data/spec/lib/controller_spec.rb +0 -30
- data/spec/lib/controllers_spec.rb +0 -48
- data/spec/lib/finders/confidence_spec.rb +0 -39
- data/spec/lib/finders/finder/enumerator_spec.rb +0 -89
- data/spec/lib/finders/finder/smart_url_checker/findings_spec.rb +0 -39
- data/spec/lib/finders/finder/smart_url_checker_spec.rb +0 -50
- data/spec/lib/finders/finder_spec.rb +0 -11
- data/spec/lib/finders/findings_spec.rb +0 -36
- data/spec/lib/finders/independent_finders_spec.rb +0 -134
- data/spec/lib/finders/same_type_finder_spec.rb +0 -24
- data/spec/lib/finders/same_type_finders_spec.rb +0 -126
- data/spec/lib/finders/unique_finder_spec.rb +0 -24
- data/spec/lib/finders/unique_finders_spec.rb +0 -222
- data/spec/lib/formatter_spec.rb +0 -145
- data/spec/lib/public_suffix/domain_spec.rb +0 -49
- data/spec/lib/sub_scanner_spec.rb +0 -45
- data/spec/lib/target/hashes_spec.rb +0 -90
- data/spec/lib/target/platforms_spec.rb +0 -13
- data/spec/lib/target/scope_spec.rb +0 -103
- data/spec/lib/target/servers_spec.rb +0 -13
- data/spec/lib/target_spec.rb +0 -69
- data/spec/lib/vulnerability/references_spec.rb +0 -75
- data/spec/lib/vulnerability_spec.rb +0 -27
- data/spec/lib/web_site_spec.rb +0 -121
- data/spec/output/core/finished.cli_no_colour +0 -3
- data/spec/output/core/finished.json +0 -5
- data/spec/output/core/started.cli_no_colour +0 -3
- data/spec/output/core/started.json +0 -5
- data/spec/output/interesting_files/empty.cli_no_colour +0 -2
- data/spec/output/interesting_files/empty.json +0 -5
- data/spec/output/interesting_files/findings.cli_no_colour +0 -30
- data/spec/output/interesting_files/findings.json +0 -75
- data/spec/shared_examples.rb +0 -11
- data/spec/shared_examples/browser_actions.rb +0 -30
- data/spec/shared_examples/finding.rb +0 -54
- data/spec/shared_examples/formatter_buffer.rb +0 -6
- data/spec/shared_examples/formatter_class_methods.rb +0 -26
- data/spec/shared_examples/independent_finder.rb +0 -31
- data/spec/shared_examples/target/platform/php.rb +0 -56
- data/spec/shared_examples/target/server/apache.rb +0 -32
- data/spec/shared_examples/target/server/generic.rb +0 -33
- data/spec/shared_examples/target/server/iis.rb +0 -37
- data/spec/shared_examples/views/core.rb +0 -26
- data/spec/shared_examples/views/interesting_files.rb +0 -36
- data/spec/spec_helper.rb +0 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c16a64244ed7befaa7147416fb7f0602dd5e01a
|
4
|
+
data.tar.gz: 0eecb7cd60d586dcce20ceac600b65e48573581b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8fae913eb98950ceab827816b37f72ed9ce2d0dcad33677b9e12900b14275f242382155635273ec4e4d26d60e3c4ee507752ff47d0ece9aa0a3f8ea51a09ed70
|
7
|
+
data.tar.gz: bc44ad999e82fdf7744ea738939ee8a7da795681d563f0f494c0e581eaa31998b437be6239ca2e3bd8c9cf6496b2eab26e3ae4396667a9a242dfcfdf44e7adf1
|
data/app/controllers/core.rb
CHANGED
@@ -38,9 +38,10 @@ module CMSScanner
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def after_scan
|
41
|
-
@stop_time
|
42
|
-
@elapsed
|
43
|
-
@used_memory
|
41
|
+
@stop_time = Time.now
|
42
|
+
@elapsed = @stop_time - @start_time
|
43
|
+
@used_memory = memory_usage - @start_memory
|
44
|
+
@requests_done = CMSScanner.total_requests
|
44
45
|
|
45
46
|
output('finished')
|
46
47
|
end
|
data/cms_scanner.gemspec
CHANGED
@@ -16,10 +16,20 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.homepage = 'https://github.com/wpscanteam/CMSScanner'
|
17
17
|
s.license = 'MIT'
|
18
18
|
|
19
|
-
s.files = `git ls-files -z`.split("\x0")
|
19
|
+
s.files = `git ls-files -z`.split("\x0").reject do |file|
|
20
|
+
file =~ /^(?:
|
21
|
+
spec\/.*
|
22
|
+
|Gemfile
|
23
|
+
|Rakefile
|
24
|
+
|\.rspec
|
25
|
+
|\.gitignore
|
26
|
+
|\.rubocop.yml
|
27
|
+
|\.travis.yml
|
28
|
+
)$/x
|
29
|
+
end
|
30
|
+
s.test_files = []
|
20
31
|
s.executables = s.files.grep(/^bin\//) { |f| File.basename(f) }
|
21
|
-
s.
|
22
|
-
s.require_path = 'lib'
|
32
|
+
s.require_path = 'lib'
|
23
33
|
|
24
34
|
s.add_dependency 'opt_parse_validator', '~> 0.0.9'
|
25
35
|
s.add_dependency 'typhoeus', '~> 0.7'
|
data/lib/cms_scanner.rb
CHANGED
@@ -13,6 +13,7 @@ require 'fileutils'
|
|
13
13
|
require 'pathname'
|
14
14
|
# Monkey Patches
|
15
15
|
require 'cms_scanner/typhoeus/response'
|
16
|
+
require 'cms_scanner/typhoeus/hydra'
|
16
17
|
require 'cms_scanner/public_suffix/domain'
|
17
18
|
# Custom Libs
|
18
19
|
require 'cms_scanner/helper'
|
@@ -38,6 +39,19 @@ module CMSScanner
|
|
38
39
|
super(base)
|
39
40
|
end
|
40
41
|
|
42
|
+
# Number of requests performed to display at the end of the scan
|
43
|
+
Typhoeus.on_complete do |response|
|
44
|
+
self.total_requests += 1 unless response.cached?
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.total_requests
|
48
|
+
@@total_requests ||= 0
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.total_requests=(value)
|
52
|
+
@@total_requests = value
|
53
|
+
end
|
54
|
+
|
41
55
|
# Scan
|
42
56
|
class Scan
|
43
57
|
def initialize
|
@@ -59,9 +73,7 @@ module CMSScanner
|
|
59
73
|
trace: e.backtrace,
|
60
74
|
verbose: controllers.first.parsed_options[:verbose])
|
61
75
|
ensure
|
62
|
-
# Ensures a clean abort of Hydra
|
63
76
|
Browser.instance.hydra.abort
|
64
|
-
Browser.instance.hydra.run
|
65
77
|
|
66
78
|
formatter.beautify
|
67
79
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'cms_scanner/finders/finder/smart_url_checker'
|
2
2
|
require 'cms_scanner/finders/finder/enumerator'
|
3
|
+
require 'cms_scanner/finders/finder/fingerprinter'
|
3
4
|
|
4
5
|
module CMSScanner
|
5
6
|
module Finders
|
@@ -14,7 +15,7 @@ module CMSScanner
|
|
14
15
|
@target = target
|
15
16
|
end
|
16
17
|
|
17
|
-
# @return [ String ] The
|
18
|
+
# @return [ String ] The titleized name of the finder
|
18
19
|
def titleize
|
19
20
|
self.class.to_s.demodulize.underscore.titleize
|
20
21
|
end
|
@@ -27,13 +28,21 @@ module CMSScanner
|
|
27
28
|
def aggressive(_opts = {})
|
28
29
|
end
|
29
30
|
|
30
|
-
# @param [
|
31
|
-
# @param [ String ] title
|
32
|
-
# @param [ String ] format See https://github.com/jfelchner/ruby-progressbar/wiki/Formatting
|
31
|
+
# @param [ Hash ] opts See https://github.com/jfelchner/ruby-progressbar/wiki/Options
|
33
32
|
#
|
34
|
-
# @return [ ProgressBar ]
|
35
|
-
def progress_bar(
|
36
|
-
ProgressBar.create(
|
33
|
+
# @return [ ProgressBar::Base ]
|
34
|
+
def progress_bar(opts = {})
|
35
|
+
ProgressBar.create({ format: '%t %a <%B> (%c / %C) %P%% %e' }.merge(opts))
|
36
|
+
end
|
37
|
+
|
38
|
+
# @return [ Browser ]
|
39
|
+
def browser
|
40
|
+
@browser ||= NS::Browser.instance
|
41
|
+
end
|
42
|
+
|
43
|
+
# @return [ Typhoeus::Hydra ]
|
44
|
+
def hydra
|
45
|
+
@hydra ||= browser.hydra
|
37
46
|
end
|
38
47
|
|
39
48
|
def found_by
|
@@ -3,16 +3,16 @@ module CMSScanner
|
|
3
3
|
class Finder
|
4
4
|
# Module to provide an easy way to enumerate items such as plugins, themes etc
|
5
5
|
module Enumerator
|
6
|
+
# @param [ Hash ] The target urls
|
6
7
|
# @param [ Hash ] opts
|
7
8
|
# @option opts [ Boolean ] :show_progression Wether or not to display the progress bar
|
8
9
|
# @option opts [ Regexp ] :exclude_content
|
9
10
|
#
|
10
11
|
# @yield [ Typhoeus::Response, String ]
|
11
|
-
def enumerate(opts = {})
|
12
|
-
|
13
|
-
bar = progress_bar(targets.size, progress_bar_title) if opts[:show_progression]
|
12
|
+
def enumerate(target_urls, opts = {})
|
13
|
+
bar = progress_bar(total: target_urls.size) if opts[:show_progression]
|
14
14
|
|
15
|
-
|
15
|
+
target_urls.each do |url, id|
|
16
16
|
request = browser.forge_request(url, request_params)
|
17
17
|
|
18
18
|
request.on_complete do |res|
|
@@ -30,37 +30,13 @@ module CMSScanner
|
|
30
30
|
hydra.run
|
31
31
|
end
|
32
32
|
|
33
|
-
# @param [ Hash ] opts
|
34
|
-
#
|
35
33
|
# @return [ Hash ]
|
36
|
-
def target_urls(_opts = {})
|
37
|
-
fail NotImplementedError
|
38
|
-
end
|
39
|
-
|
40
|
-
# Progress Bar title to use, allow instance using this module
|
41
|
-
# to display a custom title if needed
|
42
|
-
#
|
43
|
-
# @return [ String ]
|
44
|
-
def progress_bar_title
|
45
|
-
' ' # Used to create a left margin
|
46
|
-
end
|
47
|
-
|
48
|
-
# @return [ CMSScanner::Browser ]
|
49
|
-
def browser
|
50
|
-
@browser ||= NS::Browser.instance
|
51
|
-
end
|
52
|
-
|
53
34
|
def request_params
|
54
35
|
# disabling the cache, as it causes a 'stack level too deep' exception
|
55
36
|
# with a large number of requests :/
|
56
37
|
# See https://github.com/typhoeus/typhoeus/issues/408
|
57
38
|
{ cache_ttl: 0 }
|
58
39
|
end
|
59
|
-
|
60
|
-
# @return [ Typhoeus::Hydra ]
|
61
|
-
def hydra
|
62
|
-
@hydra ||= browser.hydra
|
63
|
-
end
|
64
40
|
end
|
65
41
|
end
|
66
42
|
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module CMSScanner
|
2
|
+
module Finders
|
3
|
+
class Finder
|
4
|
+
# Module to provide an easy way to fingerprint things such as versions
|
5
|
+
module Fingerprinter
|
6
|
+
# @param [ Hash ] fingerprints The fingerprints
|
7
|
+
# Format should be the following:
|
8
|
+
# {
|
9
|
+
# file_path_1: {
|
10
|
+
# md5_hash_1: version_1,
|
11
|
+
# md5_hash_2: [version_2]
|
12
|
+
# },
|
13
|
+
# file_path_2: {
|
14
|
+
# md5_hash_3: [version_1, version_2],
|
15
|
+
# md5_hash_4: version_3
|
16
|
+
# }
|
17
|
+
# }
|
18
|
+
# Note that the version can either be an array or a string
|
19
|
+
#
|
20
|
+
# @param [ Hash ] opts
|
21
|
+
# @option opts [ Boolean ] :show_progression Wether or not to display the progress bar
|
22
|
+
#
|
23
|
+
# @yield [ Mixed, String, String ] version/s, url, hash The version associated to the
|
24
|
+
# fingerprint of the url
|
25
|
+
def fingerprint(fingerprints, opts = {})
|
26
|
+
bar = progress_bar(total: fingerprints.size) if opts[:show_progression]
|
27
|
+
|
28
|
+
fingerprints.each do |path, f|
|
29
|
+
url = target.url(path.dup)
|
30
|
+
request = browser.forge_request(url, request_params)
|
31
|
+
|
32
|
+
request.on_complete do |res|
|
33
|
+
bar.progress += 1 if opts[:show_progression]
|
34
|
+
|
35
|
+
md5sum = hexdigest(res.body)
|
36
|
+
|
37
|
+
next unless f.key?(md5sum)
|
38
|
+
|
39
|
+
yield f[md5sum], url, md5sum
|
40
|
+
end
|
41
|
+
|
42
|
+
hydra.queue(request)
|
43
|
+
end
|
44
|
+
|
45
|
+
hydra.run
|
46
|
+
end
|
47
|
+
|
48
|
+
# @return [ Hash ]
|
49
|
+
def request_params
|
50
|
+
{}
|
51
|
+
end
|
52
|
+
|
53
|
+
# @return [ String ] The hashed value for the given body
|
54
|
+
def hexdigest(body)
|
55
|
+
Digest::MD5.hexdigest(body)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -19,6 +19,8 @@ module CMSScanner
|
|
19
19
|
# @param [ String ] xpath
|
20
20
|
# @param [ Array<String> ] attributes
|
21
21
|
#
|
22
|
+
# @yield [ String, Nokogiri::XML::Element ] The in scope url and its associated tag
|
23
|
+
#
|
22
24
|
# @return [ Array<String> ] The in scope absolute URLs detected in the response's body
|
23
25
|
def in_scope_urls(res, xpath = '//link|//script|//style|//img|//a', attributes = %w(href src))
|
24
26
|
found = []
|
@@ -33,7 +35,8 @@ module CMSScanner
|
|
33
35
|
|
34
36
|
next unless in_scope?(url)
|
35
37
|
|
36
|
-
yield url if block_given? && !found.include?(url)
|
38
|
+
yield url, tag if block_given? && !found.include?(url)
|
39
|
+
|
37
40
|
found << url
|
38
41
|
end
|
39
42
|
end
|
data/lib/cms_scanner/version.rb
CHANGED
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.
|
4
|
+
version: 0.0.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WPScanTeam - Erwan Le Rousseau
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opt_parse_validator
|
@@ -213,14 +213,8 @@ executables: []
|
|
213
213
|
extensions: []
|
214
214
|
extra_rdoc_files: []
|
215
215
|
files:
|
216
|
-
- ".gitignore"
|
217
|
-
- ".rspec"
|
218
|
-
- ".rubocop.yml"
|
219
|
-
- ".travis.yml"
|
220
|
-
- Gemfile
|
221
216
|
- LICENSE
|
222
217
|
- README.md
|
223
|
-
- Rakefile
|
224
218
|
- app/app.rb
|
225
219
|
- app/controllers.rb
|
226
220
|
- app/controllers/core.rb
|
@@ -268,6 +262,7 @@ files:
|
|
268
262
|
- lib/cms_scanner/finders/confidence.rb
|
269
263
|
- lib/cms_scanner/finders/finder.rb
|
270
264
|
- lib/cms_scanner/finders/finder/enumerator.rb
|
265
|
+
- lib/cms_scanner/finders/finder/fingerprinter.rb
|
271
266
|
- lib/cms_scanner/finders/finder/smart_url_checker.rb
|
272
267
|
- lib/cms_scanner/finders/finder/smart_url_checker/findings.rb
|
273
268
|
- lib/cms_scanner/finders/finding.rb
|
@@ -291,108 +286,12 @@ files:
|
|
291
286
|
- lib/cms_scanner/target/server/apache.rb
|
292
287
|
- lib/cms_scanner/target/server/generic.rb
|
293
288
|
- lib/cms_scanner/target/server/iis.rb
|
289
|
+
- lib/cms_scanner/typhoeus/hydra.rb
|
294
290
|
- lib/cms_scanner/typhoeus/response.rb
|
295
291
|
- lib/cms_scanner/version.rb
|
296
292
|
- lib/cms_scanner/vulnerability.rb
|
297
293
|
- lib/cms_scanner/vulnerability/references.rb
|
298
294
|
- lib/cms_scanner/web_site.rb
|
299
|
-
- spec/app/controllers/core_spec.rb
|
300
|
-
- spec/app/controllers/interesting_files_spec.rb
|
301
|
-
- spec/app/finders/interesting_files/fantastico_fileslist_spec.rb
|
302
|
-
- spec/app/finders/interesting_files/headers_spec.rb
|
303
|
-
- spec/app/finders/interesting_files/robots_txt_spec.rb
|
304
|
-
- spec/app/finders/interesting_files/search_replace_db_2_spec.rb
|
305
|
-
- spec/app/finders/interesting_files/xml_rpc_spec.rb
|
306
|
-
- spec/app/finders/interesting_files_spec.rb
|
307
|
-
- spec/app/formatters/cli_no_colour_spec.rb
|
308
|
-
- spec/app/formatters/cli_spec.rb
|
309
|
-
- spec/app/formatters/json_spec.rb
|
310
|
-
- spec/app/models/fantastico_fileslist_spec.rb
|
311
|
-
- spec/app/models/headers_spec.rb
|
312
|
-
- spec/app/models/interesting_file_spec.rb
|
313
|
-
- spec/app/models/robots_txt_spec.rb
|
314
|
-
- spec/app/models/version_spec.rb
|
315
|
-
- spec/app/models/xml_rpc_spec.rb
|
316
|
-
- spec/app/views_spec.rb
|
317
|
-
- spec/cache/.gitignore
|
318
|
-
- spec/dummy_finding.rb
|
319
|
-
- spec/dummy_independent_finders.rb
|
320
|
-
- spec/dummy_unique_finders.rb
|
321
|
-
- spec/fixtures/finders/interesting_files/fantastico_fileslist/fantastico_fileslist.txt
|
322
|
-
- spec/fixtures/finders/interesting_files/file.txt
|
323
|
-
- spec/fixtures/finders/interesting_files/headers/interesting.txt
|
324
|
-
- spec/fixtures/finders/interesting_files/headers/no_interesting.txt
|
325
|
-
- spec/fixtures/finders/interesting_files/robots_txt/robots.txt
|
326
|
-
- spec/fixtures/finders/interesting_files/search_replace_db_2/searchreplacedb2.php
|
327
|
-
- spec/fixtures/finders/interesting_files/xml_rpc/homepage_in_scope_pingback.html
|
328
|
-
- spec/fixtures/finders/interesting_files/xml_rpc/homepage_out_of_scope_pingback.html
|
329
|
-
- spec/fixtures/finders/interesting_files/xml_rpc/xmlrpc.php
|
330
|
-
- spec/fixtures/output.txt
|
331
|
-
- spec/fixtures/target/comments.html
|
332
|
-
- spec/fixtures/target/platform/php/debug_log/debug.log
|
333
|
-
- spec/fixtures/target/platform/php/fpd/wp_rss_functions.php
|
334
|
-
- spec/fixtures/target/scope/index.html
|
335
|
-
- spec/fixtures/target/server/apache/directory_listing/2.2.16.html
|
336
|
-
- spec/fixtures/target/server/generic/server/apache/basic.txt
|
337
|
-
- spec/fixtures/target/server/generic/server/iis/basic.txt
|
338
|
-
- spec/fixtures/target/server/generic/server/not_detected.txt
|
339
|
-
- spec/fixtures/target/server/iis/directory_listing/no_parent.html
|
340
|
-
- spec/fixtures/target/server/iis/directory_listing/with_parent.html
|
341
|
-
- spec/fixtures/views/base/ctrl/local.erb
|
342
|
-
- spec/fixtures/views/base/ctrl/test.erb
|
343
|
-
- spec/fixtures/views/base/global.erb
|
344
|
-
- spec/fixtures/views/base/test.erb
|
345
|
-
- spec/fixtures/views/based_format/test.erb
|
346
|
-
- spec/fixtures/views/json/render_me.erb
|
347
|
-
- spec/lib/browser_spec.rb
|
348
|
-
- spec/lib/cache/file_store_spec.rb
|
349
|
-
- spec/lib/cache/typhoeus_spec.rb
|
350
|
-
- spec/lib/cms_scanner_spec.rb
|
351
|
-
- spec/lib/controller_spec.rb
|
352
|
-
- spec/lib/controllers_spec.rb
|
353
|
-
- spec/lib/finders/confidence_spec.rb
|
354
|
-
- spec/lib/finders/finder/enumerator_spec.rb
|
355
|
-
- spec/lib/finders/finder/smart_url_checker/findings_spec.rb
|
356
|
-
- spec/lib/finders/finder/smart_url_checker_spec.rb
|
357
|
-
- spec/lib/finders/finder_spec.rb
|
358
|
-
- spec/lib/finders/findings_spec.rb
|
359
|
-
- spec/lib/finders/independent_finders_spec.rb
|
360
|
-
- spec/lib/finders/same_type_finder_spec.rb
|
361
|
-
- spec/lib/finders/same_type_finders_spec.rb
|
362
|
-
- spec/lib/finders/unique_finder_spec.rb
|
363
|
-
- spec/lib/finders/unique_finders_spec.rb
|
364
|
-
- spec/lib/formatter_spec.rb
|
365
|
-
- spec/lib/public_suffix/domain_spec.rb
|
366
|
-
- spec/lib/sub_scanner_spec.rb
|
367
|
-
- spec/lib/target/hashes_spec.rb
|
368
|
-
- spec/lib/target/platforms_spec.rb
|
369
|
-
- spec/lib/target/scope_spec.rb
|
370
|
-
- spec/lib/target/servers_spec.rb
|
371
|
-
- spec/lib/target_spec.rb
|
372
|
-
- spec/lib/vulnerability/references_spec.rb
|
373
|
-
- spec/lib/vulnerability_spec.rb
|
374
|
-
- spec/lib/web_site_spec.rb
|
375
|
-
- spec/output/core/finished.cli_no_colour
|
376
|
-
- spec/output/core/finished.json
|
377
|
-
- spec/output/core/started.cli_no_colour
|
378
|
-
- spec/output/core/started.json
|
379
|
-
- spec/output/interesting_files/empty.cli_no_colour
|
380
|
-
- spec/output/interesting_files/empty.json
|
381
|
-
- spec/output/interesting_files/findings.cli_no_colour
|
382
|
-
- spec/output/interesting_files/findings.json
|
383
|
-
- spec/shared_examples.rb
|
384
|
-
- spec/shared_examples/browser_actions.rb
|
385
|
-
- spec/shared_examples/finding.rb
|
386
|
-
- spec/shared_examples/formatter_buffer.rb
|
387
|
-
- spec/shared_examples/formatter_class_methods.rb
|
388
|
-
- spec/shared_examples/independent_finder.rb
|
389
|
-
- spec/shared_examples/target/platform/php.rb
|
390
|
-
- spec/shared_examples/target/server/apache.rb
|
391
|
-
- spec/shared_examples/target/server/generic.rb
|
392
|
-
- spec/shared_examples/target/server/iis.rb
|
393
|
-
- spec/shared_examples/views/core.rb
|
394
|
-
- spec/shared_examples/views/interesting_files.rb
|
395
|
-
- spec/spec_helper.rb
|
396
295
|
homepage: https://github.com/wpscanteam/CMSScanner
|
397
296
|
licenses:
|
398
297
|
- MIT
|
@@ -417,101 +316,4 @@ rubygems_version: 2.4.5
|
|
417
316
|
signing_key:
|
418
317
|
specification_version: 4
|
419
318
|
summary: Experimental CMSScanner
|
420
|
-
test_files:
|
421
|
-
- spec/app/controllers/core_spec.rb
|
422
|
-
- spec/app/controllers/interesting_files_spec.rb
|
423
|
-
- spec/app/finders/interesting_files/fantastico_fileslist_spec.rb
|
424
|
-
- spec/app/finders/interesting_files/headers_spec.rb
|
425
|
-
- spec/app/finders/interesting_files/robots_txt_spec.rb
|
426
|
-
- spec/app/finders/interesting_files/search_replace_db_2_spec.rb
|
427
|
-
- spec/app/finders/interesting_files/xml_rpc_spec.rb
|
428
|
-
- spec/app/finders/interesting_files_spec.rb
|
429
|
-
- spec/app/formatters/cli_no_colour_spec.rb
|
430
|
-
- spec/app/formatters/cli_spec.rb
|
431
|
-
- spec/app/formatters/json_spec.rb
|
432
|
-
- spec/app/models/fantastico_fileslist_spec.rb
|
433
|
-
- spec/app/models/headers_spec.rb
|
434
|
-
- spec/app/models/interesting_file_spec.rb
|
435
|
-
- spec/app/models/robots_txt_spec.rb
|
436
|
-
- spec/app/models/version_spec.rb
|
437
|
-
- spec/app/models/xml_rpc_spec.rb
|
438
|
-
- spec/app/views_spec.rb
|
439
|
-
- spec/cache/.gitignore
|
440
|
-
- spec/dummy_finding.rb
|
441
|
-
- spec/dummy_independent_finders.rb
|
442
|
-
- spec/dummy_unique_finders.rb
|
443
|
-
- spec/fixtures/finders/interesting_files/fantastico_fileslist/fantastico_fileslist.txt
|
444
|
-
- spec/fixtures/finders/interesting_files/file.txt
|
445
|
-
- spec/fixtures/finders/interesting_files/headers/interesting.txt
|
446
|
-
- spec/fixtures/finders/interesting_files/headers/no_interesting.txt
|
447
|
-
- spec/fixtures/finders/interesting_files/robots_txt/robots.txt
|
448
|
-
- spec/fixtures/finders/interesting_files/search_replace_db_2/searchreplacedb2.php
|
449
|
-
- spec/fixtures/finders/interesting_files/xml_rpc/homepage_in_scope_pingback.html
|
450
|
-
- spec/fixtures/finders/interesting_files/xml_rpc/homepage_out_of_scope_pingback.html
|
451
|
-
- spec/fixtures/finders/interesting_files/xml_rpc/xmlrpc.php
|
452
|
-
- spec/fixtures/output.txt
|
453
|
-
- spec/fixtures/target/comments.html
|
454
|
-
- spec/fixtures/target/platform/php/debug_log/debug.log
|
455
|
-
- spec/fixtures/target/platform/php/fpd/wp_rss_functions.php
|
456
|
-
- spec/fixtures/target/scope/index.html
|
457
|
-
- spec/fixtures/target/server/apache/directory_listing/2.2.16.html
|
458
|
-
- spec/fixtures/target/server/generic/server/apache/basic.txt
|
459
|
-
- spec/fixtures/target/server/generic/server/iis/basic.txt
|
460
|
-
- spec/fixtures/target/server/generic/server/not_detected.txt
|
461
|
-
- spec/fixtures/target/server/iis/directory_listing/no_parent.html
|
462
|
-
- spec/fixtures/target/server/iis/directory_listing/with_parent.html
|
463
|
-
- spec/fixtures/views/base/ctrl/local.erb
|
464
|
-
- spec/fixtures/views/base/ctrl/test.erb
|
465
|
-
- spec/fixtures/views/base/global.erb
|
466
|
-
- spec/fixtures/views/base/test.erb
|
467
|
-
- spec/fixtures/views/based_format/test.erb
|
468
|
-
- spec/fixtures/views/json/render_me.erb
|
469
|
-
- spec/lib/browser_spec.rb
|
470
|
-
- spec/lib/cache/file_store_spec.rb
|
471
|
-
- spec/lib/cache/typhoeus_spec.rb
|
472
|
-
- spec/lib/cms_scanner_spec.rb
|
473
|
-
- spec/lib/controller_spec.rb
|
474
|
-
- spec/lib/controllers_spec.rb
|
475
|
-
- spec/lib/finders/confidence_spec.rb
|
476
|
-
- spec/lib/finders/finder/enumerator_spec.rb
|
477
|
-
- spec/lib/finders/finder/smart_url_checker/findings_spec.rb
|
478
|
-
- spec/lib/finders/finder/smart_url_checker_spec.rb
|
479
|
-
- spec/lib/finders/finder_spec.rb
|
480
|
-
- spec/lib/finders/findings_spec.rb
|
481
|
-
- spec/lib/finders/independent_finders_spec.rb
|
482
|
-
- spec/lib/finders/same_type_finder_spec.rb
|
483
|
-
- spec/lib/finders/same_type_finders_spec.rb
|
484
|
-
- spec/lib/finders/unique_finder_spec.rb
|
485
|
-
- spec/lib/finders/unique_finders_spec.rb
|
486
|
-
- spec/lib/formatter_spec.rb
|
487
|
-
- spec/lib/public_suffix/domain_spec.rb
|
488
|
-
- spec/lib/sub_scanner_spec.rb
|
489
|
-
- spec/lib/target/hashes_spec.rb
|
490
|
-
- spec/lib/target/platforms_spec.rb
|
491
|
-
- spec/lib/target/scope_spec.rb
|
492
|
-
- spec/lib/target/servers_spec.rb
|
493
|
-
- spec/lib/target_spec.rb
|
494
|
-
- spec/lib/vulnerability/references_spec.rb
|
495
|
-
- spec/lib/vulnerability_spec.rb
|
496
|
-
- spec/lib/web_site_spec.rb
|
497
|
-
- spec/output/core/finished.cli_no_colour
|
498
|
-
- spec/output/core/finished.json
|
499
|
-
- spec/output/core/started.cli_no_colour
|
500
|
-
- spec/output/core/started.json
|
501
|
-
- spec/output/interesting_files/empty.cli_no_colour
|
502
|
-
- spec/output/interesting_files/empty.json
|
503
|
-
- spec/output/interesting_files/findings.cli_no_colour
|
504
|
-
- spec/output/interesting_files/findings.json
|
505
|
-
- spec/shared_examples.rb
|
506
|
-
- spec/shared_examples/browser_actions.rb
|
507
|
-
- spec/shared_examples/finding.rb
|
508
|
-
- spec/shared_examples/formatter_buffer.rb
|
509
|
-
- spec/shared_examples/formatter_class_methods.rb
|
510
|
-
- spec/shared_examples/independent_finder.rb
|
511
|
-
- spec/shared_examples/target/platform/php.rb
|
512
|
-
- spec/shared_examples/target/server/apache.rb
|
513
|
-
- spec/shared_examples/target/server/generic.rb
|
514
|
-
- spec/shared_examples/target/server/iis.rb
|
515
|
-
- spec/shared_examples/views/core.rb
|
516
|
-
- spec/shared_examples/views/interesting_files.rb
|
517
|
-
- spec/spec_helper.rb
|
319
|
+
test_files: []
|