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.
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: []