cms_scanner 0.0.18 → 0.0.19

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.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/core.rb +4 -3
  3. data/app/views/cli/core/finished.erb +1 -0
  4. data/app/views/json/core/finished.erb +1 -0
  5. data/cms_scanner.gemspec +13 -3
  6. data/lib/cms_scanner.rb +14 -2
  7. data/lib/cms_scanner/finders/finder.rb +16 -7
  8. data/lib/cms_scanner/finders/finder/enumerator.rb +4 -28
  9. data/lib/cms_scanner/finders/finder/fingerprinter.rb +60 -0
  10. data/lib/cms_scanner/finders/finding.rb +1 -1
  11. data/lib/cms_scanner/target/scope.rb +4 -1
  12. data/lib/cms_scanner/target/server/generic.rb +1 -1
  13. data/lib/cms_scanner/typhoeus/hydra.rb +10 -0
  14. data/lib/cms_scanner/version.rb +1 -1
  15. metadata +5 -203
  16. data/.gitignore +0 -7
  17. data/.rspec +0 -2
  18. data/.rubocop.yml +0 -10
  19. data/.travis.yml +0 -17
  20. data/Gemfile +0 -6
  21. data/Rakefile +0 -9
  22. data/spec/app/controllers/core_spec.rb +0 -167
  23. data/spec/app/controllers/interesting_files_spec.rb +0 -70
  24. data/spec/app/finders/interesting_files/fantastico_fileslist_spec.rb +0 -66
  25. data/spec/app/finders/interesting_files/headers_spec.rb +0 -36
  26. data/spec/app/finders/interesting_files/robots_txt_spec.rb +0 -54
  27. data/spec/app/finders/interesting_files/search_replace_db_2_spec.rb +0 -53
  28. data/spec/app/finders/interesting_files/xml_rpc_spec.rb +0 -136
  29. data/spec/app/finders/interesting_files_spec.rb +0 -12
  30. data/spec/app/formatters/cli_no_colour_spec.rb +0 -14
  31. data/spec/app/formatters/cli_spec.rb +0 -30
  32. data/spec/app/formatters/json_spec.rb +0 -30
  33. data/spec/app/models/fantastico_fileslist_spec.rb +0 -31
  34. data/spec/app/models/headers_spec.rb +0 -51
  35. data/spec/app/models/interesting_file_spec.rb +0 -69
  36. data/spec/app/models/robots_txt_spec.rb +0 -27
  37. data/spec/app/models/version_spec.rb +0 -51
  38. data/spec/app/models/xml_rpc_spec.rb +0 -46
  39. data/spec/app/views_spec.rb +0 -35
  40. data/spec/cache/.gitignore +0 -4
  41. data/spec/dummy_finding.rb +0 -25
  42. data/spec/dummy_independent_finders.rb +0 -26
  43. data/spec/dummy_unique_finders.rb +0 -33
  44. data/spec/fixtures/finders/interesting_files/fantastico_fileslist/fantastico_fileslist.txt +0 -12
  45. data/spec/fixtures/finders/interesting_files/file.txt +0 -4
  46. data/spec/fixtures/finders/interesting_files/headers/interesting.txt +0 -16
  47. data/spec/fixtures/finders/interesting_files/headers/no_interesting.txt +0 -12
  48. data/spec/fixtures/finders/interesting_files/robots_txt/robots.txt +0 -10
  49. data/spec/fixtures/finders/interesting_files/search_replace_db_2/searchreplacedb2.php +0 -188
  50. data/spec/fixtures/finders/interesting_files/xml_rpc/homepage_in_scope_pingback.html +0 -7
  51. data/spec/fixtures/finders/interesting_files/xml_rpc/homepage_out_of_scope_pingback.html +0 -7
  52. data/spec/fixtures/finders/interesting_files/xml_rpc/xmlrpc.php +0 -1
  53. data/spec/fixtures/output.txt +0 -0
  54. data/spec/fixtures/target/comments.html +0 -29
  55. data/spec/fixtures/target/platform/php/debug_log/debug.log +0 -2
  56. data/spec/fixtures/target/platform/php/fpd/wp_rss_functions.php +0 -2
  57. data/spec/fixtures/target/scope/index.html +0 -23
  58. data/spec/fixtures/target/server/apache/directory_listing/2.2.16.html +0 -15
  59. data/spec/fixtures/target/server/generic/server/apache/basic.txt +0 -5
  60. data/spec/fixtures/target/server/generic/server/iis/basic.txt +0 -6
  61. data/spec/fixtures/target/server/generic/server/not_detected.txt +0 -3
  62. data/spec/fixtures/target/server/iis/directory_listing/no_parent.html +0 -3
  63. data/spec/fixtures/target/server/iis/directory_listing/with_parent.html +0 -3
  64. data/spec/fixtures/views/base/ctrl/local.erb +0 -1
  65. data/spec/fixtures/views/base/ctrl/test.erb +0 -3
  66. data/spec/fixtures/views/base/global.erb +0 -1
  67. data/spec/fixtures/views/base/test.erb +0 -2
  68. data/spec/fixtures/views/based_format/test.erb +0 -1
  69. data/spec/fixtures/views/json/render_me.erb +0 -4
  70. data/spec/lib/browser_spec.rb +0 -140
  71. data/spec/lib/cache/file_store_spec.rb +0 -100
  72. data/spec/lib/cache/typhoeus_spec.rb +0 -28
  73. data/spec/lib/cms_scanner_spec.rb +0 -49
  74. data/spec/lib/controller_spec.rb +0 -30
  75. data/spec/lib/controllers_spec.rb +0 -48
  76. data/spec/lib/finders/confidence_spec.rb +0 -39
  77. data/spec/lib/finders/finder/enumerator_spec.rb +0 -89
  78. data/spec/lib/finders/finder/smart_url_checker/findings_spec.rb +0 -39
  79. data/spec/lib/finders/finder/smart_url_checker_spec.rb +0 -50
  80. data/spec/lib/finders/finder_spec.rb +0 -11
  81. data/spec/lib/finders/findings_spec.rb +0 -36
  82. data/spec/lib/finders/independent_finders_spec.rb +0 -134
  83. data/spec/lib/finders/same_type_finder_spec.rb +0 -24
  84. data/spec/lib/finders/same_type_finders_spec.rb +0 -126
  85. data/spec/lib/finders/unique_finder_spec.rb +0 -24
  86. data/spec/lib/finders/unique_finders_spec.rb +0 -222
  87. data/spec/lib/formatter_spec.rb +0 -145
  88. data/spec/lib/public_suffix/domain_spec.rb +0 -49
  89. data/spec/lib/sub_scanner_spec.rb +0 -45
  90. data/spec/lib/target/hashes_spec.rb +0 -90
  91. data/spec/lib/target/platforms_spec.rb +0 -13
  92. data/spec/lib/target/scope_spec.rb +0 -103
  93. data/spec/lib/target/servers_spec.rb +0 -13
  94. data/spec/lib/target_spec.rb +0 -69
  95. data/spec/lib/vulnerability/references_spec.rb +0 -75
  96. data/spec/lib/vulnerability_spec.rb +0 -27
  97. data/spec/lib/web_site_spec.rb +0 -121
  98. data/spec/output/core/finished.cli_no_colour +0 -3
  99. data/spec/output/core/finished.json +0 -5
  100. data/spec/output/core/started.cli_no_colour +0 -3
  101. data/spec/output/core/started.json +0 -5
  102. data/spec/output/interesting_files/empty.cli_no_colour +0 -2
  103. data/spec/output/interesting_files/empty.json +0 -5
  104. data/spec/output/interesting_files/findings.cli_no_colour +0 -30
  105. data/spec/output/interesting_files/findings.json +0 -75
  106. data/spec/shared_examples.rb +0 -11
  107. data/spec/shared_examples/browser_actions.rb +0 -30
  108. data/spec/shared_examples/finding.rb +0 -54
  109. data/spec/shared_examples/formatter_buffer.rb +0 -6
  110. data/spec/shared_examples/formatter_class_methods.rb +0 -26
  111. data/spec/shared_examples/independent_finder.rb +0 -31
  112. data/spec/shared_examples/target/platform/php.rb +0 -56
  113. data/spec/shared_examples/target/server/apache.rb +0 -32
  114. data/spec/shared_examples/target/server/generic.rb +0 -33
  115. data/spec/shared_examples/target/server/iis.rb +0 -37
  116. data/spec/shared_examples/views/core.rb +0 -26
  117. data/spec/shared_examples/views/interesting_files.rb +0 -36
  118. data/spec/spec_helper.rb +0 -43
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4967adc46d0b17b3762f4aa25608fbd5fa7372f4
4
- data.tar.gz: d8b5abec16cff468b52d2596c8544b279dbfc347
3
+ metadata.gz: 0c16a64244ed7befaa7147416fb7f0602dd5e01a
4
+ data.tar.gz: 0eecb7cd60d586dcce20ceac600b65e48573581b
5
5
  SHA512:
6
- metadata.gz: a807670ea5bdf871cd0f70779f939ddfb8c1dbd83262447e1427369109db103cc38192bbf6f95531264081e003200cf29be0c3af0849544b0d943824d6a0c734
7
- data.tar.gz: d9c5c442e85d106dc960eee3db9a5277e2078816fd2dd331e73ac6206ffdcf08d6945ef071cdbf035d278ef6bf361ae11b22842be6190404f57e0b87d59025db
6
+ metadata.gz: 8fae913eb98950ceab827816b37f72ed9ce2d0dcad33677b9e12900b14275f242382155635273ec4e4d26d60e3c4ee507752ff47d0ece9aa0a3f8ea51a09ed70
7
+ data.tar.gz: bc44ad999e82fdf7744ea738939ee8a7da795681d563f0f494c0e581eaa31998b437be6239ca2e3bd8c9cf6496b2eab26e3ae4396667a9a242dfcfdf44e7adf1
@@ -38,9 +38,10 @@ module CMSScanner
38
38
  end
39
39
 
40
40
  def after_scan
41
- @stop_time = Time.now
42
- @elapsed = @stop_time - @start_time
43
- @used_memory = memory_usage - @start_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
@@ -1,3 +1,4 @@
1
1
  <%= green('[+]') %> Finished: <%= @stop_time.asctime %>
2
+ <%= green('[+]') %> Requests Done: <%= @requests_done %>
2
3
  <%= green('[+]') %> Memory used: <%= @used_memory.bytes_to_human %>
3
4
  <%= green('[+]') %> Elapsed time: <%= Time.at(@elapsed).utc.strftime('%H:%M:%S') %>
@@ -1,3 +1,4 @@
1
1
  "stop_time": <%= @stop_time.to_i %>,
2
2
  "elapsed": <%= @elapsed.to_i %>,
3
+ "requests_done": <%= @requests_done.to_i %>,
3
4
  "used_memory": <%= @used_memory.to_i %>,
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.test_files = s.files.grep(/^(test|spec|features)\//)
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 titleize name of the finder
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 [ Integer ] total
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(total, title = '', format = '%t %a <%B> (%c / %C) %P%% %e')
36
- ProgressBar.create(total: total, title: title, format: format)
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
- targets = target_urls(opts)
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
- targets.each do |url, id|
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
@@ -45,7 +45,7 @@ module CMSScanner
45
45
  end
46
46
 
47
47
  def <=>(other)
48
- to_s <=> other.to_s
48
+ to_s.downcase <=> other.to_s.downcase
49
49
  end
50
50
  end
51
51
  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
@@ -10,7 +10,7 @@ module CMSScanner
10
10
  def server(path = nil, params = {})
11
11
  headers = headers(path, params)
12
12
 
13
- return nil unless headers
13
+ return unless headers
14
14
 
15
15
  case headers[:server]
16
16
  when /\Aapache/i
@@ -0,0 +1,10 @@
1
+ module Typhoeus
2
+ # Ensure a clean abort of hydra
3
+ # See https://github.com/typhoeus/typhoeus/issues/439
4
+ class Hydra
5
+ def abort
6
+ super
7
+ run
8
+ end
9
+ end
10
+ end
@@ -1,4 +1,4 @@
1
1
  # Version
2
2
  module CMSScanner
3
- VERSION = '0.0.18'
3
+ VERSION = '0.0.19'
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.18
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-02-27 00:00:00.000000000 Z
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: []