dawnscanner 1.3.1 → 1.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/BUGS.md +14 -0
  5. data/Changelog.md +27 -1
  6. data/KnowledgeBase.md +19 -2
  7. data/LICENSE.txt +2 -2
  8. data/README.md +2 -2
  9. data/Rakefile +100 -0
  10. data/Roadmap.md +25 -11
  11. data/VERSION +16 -0
  12. data/bin/dawn +9 -5
  13. data/checksum/dawnscanner-1.3.1.gem.sha1 +1 -0
  14. data/dawnscanner.gemspec +5 -6
  15. data/lib/dawn/kb/basic_check.rb +25 -10
  16. data/lib/dawn/kb/cve_2004_0755.rb +3 -0
  17. data/lib/dawn/kb/cve_2004_0983.rb +3 -0
  18. data/lib/dawn/kb/cve_2005_1992.rb +3 -0
  19. data/lib/dawn/kb/cve_2005_2337.rb +3 -0
  20. data/lib/dawn/kb/cve_2006_3694.rb +2 -0
  21. data/lib/dawn/kb/cve_2007_0469.rb +2 -0
  22. data/lib/dawn/kb/cve_2007_5380.rb +2 -0
  23. data/lib/dawn/kb/cve_2007_6077.rb +2 -0
  24. data/lib/dawn/kb/cve_2007_6612.rb +2 -0
  25. data/lib/dawn/kb/cve_2013_6416.rb +1 -1
  26. data/lib/dawn/kb/cve_2015_1840/cve_2015_1840_a.rb +28 -0
  27. data/lib/dawn/kb/cve_2015_1840/cve_2015_1840_b.rb +28 -0
  28. data/lib/dawn/kb/cve_2015_2963.rb +27 -0
  29. data/lib/dawn/kb/cve_2015_3224.rb +26 -0
  30. data/lib/dawn/kb/cve_2015_3225.rb +28 -0
  31. data/lib/dawn/kb/cve_2015_3226.rb +27 -0
  32. data/lib/dawn/kb/cve_2015_3227.rb +27 -0
  33. data/lib/dawn/kb/osvdb_118579.rb +31 -0
  34. data/lib/dawn/kb/osvdb_118830.rb +32 -0
  35. data/lib/dawn/kb/osvdb_118954.rb +31 -0
  36. data/lib/dawn/kb/osvdb_119878.rb +32 -0
  37. data/lib/dawn/kb/osvdb_119927.rb +33 -0
  38. data/lib/dawn/kb/owasp_ror_cheatsheet/session_stored_in_database.rb +1 -1
  39. data/lib/dawn/knowledge_base.rb +34 -0
  40. data/lib/dawn/logger.rb +16 -0
  41. data/lib/dawn/reporter.rb +19 -19
  42. data/lib/dawn/utils.rb +2 -2
  43. data/lib/dawn/version.rb +5 -24
  44. data/lib/dawnscanner.rb +2 -1
  45. data/spec/lib/dawn/codesake_knowledgebase_spec.rb +66 -15
  46. data/spec/lib/kb/cve_2015_1840_spec.rb +35 -0
  47. data/spec/lib/kb/cve_2015_2963_spec.rb +17 -0
  48. data/spec/lib/kb/cve_2015_3224_spec.rb +16 -0
  49. data/spec/lib/kb/cve_2015_3225_spec.rb +23 -0
  50. data/spec/lib/kb/cve_2015_3226_spec.rb +29 -0
  51. data/spec/lib/kb/cve_2015_3227_spec.rb +23 -0
  52. data/spec/lib/kb/osvdb_118579_spec.rb +8 -0
  53. data/spec/lib/kb/osvdb_118830_spec.rb +16 -0
  54. data/spec/lib/kb/osvdb_118954_spec.rb +8 -0
  55. data/spec/lib/kb/osvdb_119878_spec.rb +17 -0
  56. data/spec/lib/kb/osvdb_119927_spec.rb +16 -0
  57. data/spec/spec_helper.rb +3 -2
  58. metadata +63 -21
  59. metadata.gz.sig +0 -0
@@ -0,0 +1,8 @@
1
+ require 'spec_helper'
2
+ describe "The OSVDB_118579 vulnerability" do
3
+ before(:all) do
4
+ @check = Dawn::Kb::OSVDB_118579.new
5
+ # @check.debug = true
6
+ end
7
+ it "We are not currently aware of a solution for this vulnerability."
8
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+ describe "The OSVDB_118830 vulnerability" do
3
+ before(:all) do
4
+ @check = Dawn::Kb::OSVDB_118830.new
5
+ # @check.debug = true
6
+ end
7
+ it "is reported when a vulnerable version it has been found (2.1.1)" do
8
+ @check.dependencies = [{:name=>"doorkeeper", :version=>"2.1.1"}]
9
+ @check.vuln?.should == true
10
+ end
11
+ it "is not reported when a safe version it has been found (2.1.2)" do
12
+ @check.dependencies = [{:name=>"doorkeepr", :version=>"2.1.2"}]
13
+ @check.vuln?.should == false
14
+ end
15
+
16
+ end
@@ -0,0 +1,8 @@
1
+ require 'spec_helper'
2
+ describe "The OSVDB_118954 vulnerability" do
3
+ before(:all) do
4
+ @check = Dawn::Kb::OSVDB_118954.new
5
+ # @check.debug = true
6
+ end
7
+ it "Currently, there are no known workarounds or upgrades to correct this issue. However, a patch has been committed to the source code repository (e.g. GIT, CVS, SVN) that addresses this vulnerability. Until it is incorporated into the next release of the software, manually patching an existing installation is the only known available solution. Check the vendor links in the references section for more information"
8
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+ describe "The OSVDB_119878 vulnerability" do
3
+ before(:all) do
4
+ @check = Dawn::Kb::OSVDB_119878.new
5
+ # @check.debug = true
6
+ end
7
+ it "is not fixed as the time we're writing this: 4.4.2015"
8
+ # it "is reported when a vulnerable version it has been found (0.7.3)" do
9
+ # @check.dependencies = [{:name=>"rest-client", :version=>"0.7.3"}]
10
+ # @check.vuln?.should == true
11
+ # end
12
+ # it "is not reported when a safe version it has been found (0.8.0)" do
13
+ # @check.dependencies = [{:name=>"rest-client", :version=>"0.8.0"}]
14
+ # @check.vuln?.should == false
15
+ # end
16
+
17
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+ describe "The OSVDB_119927 vulnerability" do
3
+ before(:all) do
4
+ @check = Dawn::Kb::OSVDB_119927.new
5
+ # @check.debug = true
6
+ end
7
+ it "is reported when a vulnerable version it has been found (0.7.3)" do
8
+ @check.dependencies = [{:name=>"http", :version=>"0.7.3"}]
9
+ @check.vuln?.should == true
10
+ end
11
+ it "is not reported when a safe version it has been found (0.8.0)" do
12
+ @check.dependencies = [{:name=>"http", :version=>"0.8.0"}]
13
+ @check.vuln?.should == false
14
+ end
15
+
16
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,12 @@
1
1
  require 'coveralls'
2
2
  require 'dawnscanner'
3
- require 'codesake-commons'
4
3
 
5
4
  def give_a_number
6
5
  require 'securerandom'
7
6
  return SecureRandom.random_number(9999)
8
7
  end
9
8
 
10
- $logger = Codesake::Commons::Logging.instance
9
+ require 'logger'
10
+ $logger = Logger.new(STDOUT)
11
+ $logger.datetime_format = '%Y-%m-%d %H:%M:%S'
11
12
  Coveralls.wear!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dawnscanner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paolo Perego
@@ -30,22 +30,8 @@ cert_chain:
30
30
  1zH2rpK27DW5pOeHUEJn31+gGd111ogP5tYruPV7Qgfy2jUrUPmP67v7nRNlgd84
31
31
  Z5mHj9jGk4wgMQy2pk4GDwsXiirZfI0z2WZfySqEldE=
32
32
  -----END CERTIFICATE-----
33
- date: 2015-02-19 00:00:00.000000000 Z
33
+ date: 2015-07-29 00:00:00.000000000 Z
34
34
  dependencies:
35
- - !ruby/object:Gem::Dependency
36
- name: codesake-commons
37
- requirement: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: 1.0.0
42
- type: :runtime
43
- prerelease: false
44
- version_requirements: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - "~>"
47
- - !ruby/object:Gem::Version
48
- version: 1.0.0
49
35
  - !ruby/object:Gem::Dependency
50
36
  name: cvss
51
37
  requirement: !ruby/object:Gem::Requirement
@@ -172,6 +158,20 @@ dependencies:
172
158
  - - ">="
173
159
  - !ruby/object:Gem::Version
174
160
  version: '0'
161
+ - !ruby/object:Gem::Dependency
162
+ name: logger-colors
163
+ requirement: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
175
  - !ruby/object:Gem::Dependency
176
176
  name: coveralls
177
177
  requirement: !ruby/object:Gem::Requirement
@@ -256,9 +256,12 @@ dependencies:
256
256
  - - ">="
257
257
  - !ruby/object:Gem::Version
258
258
  version: '0'
259
- description: Dawn is a security source code scanner for ruby powered code.
259
+ description: Dawn is a security source code scanner for ruby powered code. It is especially
260
+ designed for web applications, but it works also with general purpose ruby scripts.
261
+ Dawn supports all major MVC frameworks like ruby on rails, padrino and sinatra;
262
+ it provides more than 150 security checks with their own mitigation suggestion.
260
263
  email:
261
- - paolo@codesake.com
264
+ - paolo@dawnscanner.org
262
265
  executables:
263
266
  - dawn
264
267
  extensions: []
@@ -268,6 +271,7 @@ files:
268
271
  - ".ruby-gemset"
269
272
  - ".ruby-version"
270
273
  - ".travis.yml"
274
+ - BUGS.md
271
275
  - Changelog.md
272
276
  - Gemfile
273
277
  - KnowledgeBase.md
@@ -275,6 +279,7 @@ files:
275
279
  - README.md
276
280
  - Rakefile
277
281
  - Roadmap.md
282
+ - VERSION
278
283
  - bin/dawn
279
284
  - certs/paolo_at_dawnscanner_dot_org.pem
280
285
  - checksum/.placeholder
@@ -287,6 +292,7 @@ files:
287
292
  - checksum/codesake-dawn-1.2.99.gem.sha512
288
293
  - checksum/dawnscanner-1.2.99.gem.sha1
289
294
  - checksum/dawnscanner-1.3.0.gem.sha1
295
+ - checksum/dawnscanner-1.3.1.gem.sha1
290
296
  - dawnscanner.gemspec
291
297
  - doc/codesake-dawn.yaml.sample
292
298
  - doc/dawn_1_0_announcement.md
@@ -468,6 +474,13 @@ files:
468
474
  - lib/dawn/kb/cve_2014_2538.rb
469
475
  - lib/dawn/kb/cve_2014_3482.rb
470
476
  - lib/dawn/kb/cve_2014_3483.rb
477
+ - lib/dawn/kb/cve_2015_1840/cve_2015_1840_a.rb
478
+ - lib/dawn/kb/cve_2015_1840/cve_2015_1840_b.rb
479
+ - lib/dawn/kb/cve_2015_2963.rb
480
+ - lib/dawn/kb/cve_2015_3224.rb
481
+ - lib/dawn/kb/cve_2015_3225.rb
482
+ - lib/dawn/kb/cve_2015_3226.rb
483
+ - lib/dawn/kb/cve_2015_3227.rb
471
484
  - lib/dawn/kb/dependency_check.rb
472
485
  - lib/dawn/kb/deprecation_check.rb
473
486
  - lib/dawn/kb/not_revised_code.rb
@@ -477,6 +490,11 @@ files:
477
490
  - lib/dawn/kb/osvdb_108563.rb
478
491
  - lib/dawn/kb/osvdb_108569.rb
479
492
  - lib/dawn/kb/osvdb_108570.rb
493
+ - lib/dawn/kb/osvdb_118579.rb
494
+ - lib/dawn/kb/osvdb_118830.rb
495
+ - lib/dawn/kb/osvdb_118954.rb
496
+ - lib/dawn/kb/osvdb_119878.rb
497
+ - lib/dawn/kb/osvdb_119927.rb
480
498
  - lib/dawn/kb/owasp_ror_cheatsheet.rb
481
499
  - lib/dawn/kb/owasp_ror_cheatsheet/check_for_backup_files.rb
482
500
  - lib/dawn/kb/owasp_ror_cheatsheet/check_for_safe_redirect_and_forward.rb
@@ -491,6 +509,7 @@ files:
491
509
  - lib/dawn/kb/simpleform_xss_20131129.rb
492
510
  - lib/dawn/kb/version_check.rb
493
511
  - lib/dawn/knowledge_base.rb
512
+ - lib/dawn/logger.rb
494
513
  - lib/dawn/padrino.rb
495
514
  - lib/dawn/rails.rb
496
515
  - lib/dawn/railtie.rb
@@ -557,17 +576,28 @@ files:
557
576
  - spec/lib/kb/cve_2014_2538_spec.rb
558
577
  - spec/lib/kb/cve_2014_3482_spec.rb
559
578
  - spec/lib/kb/cve_2014_3483_spec.rb
579
+ - spec/lib/kb/cve_2015_1840_spec.rb
580
+ - spec/lib/kb/cve_2015_2963_spec.rb
581
+ - spec/lib/kb/cve_2015_3224_spec.rb
582
+ - spec/lib/kb/cve_2015_3225_spec.rb
583
+ - spec/lib/kb/cve_2015_3226_spec.rb
584
+ - spec/lib/kb/cve_2015_3227_spec.rb
560
585
  - spec/lib/kb/osvdb_105971_spec.rb
561
586
  - spec/lib/kb/osvdb_108530_spec.rb
562
587
  - spec/lib/kb/osvdb_108563_spec.rb
563
588
  - spec/lib/kb/osvdb_108569_spec.rb
564
589
  - spec/lib/kb/osvdb_108570_spec.rb
590
+ - spec/lib/kb/osvdb_118579_spec.rb
591
+ - spec/lib/kb/osvdb_118830_spec.rb
592
+ - spec/lib/kb/osvdb_118954_spec.rb
593
+ - spec/lib/kb/osvdb_119878_spec.rb
594
+ - spec/lib/kb/osvdb_119927_spec.rb
565
595
  - spec/lib/kb/owasp_ror_cheatsheet_disabled.rb
566
596
  - spec/spec_helper.rb
567
597
  - support/bootstrap.js
568
598
  - support/bootstrap.min.css
569
599
  - support/codesake.css
570
- homepage: http://dawn.codesake.com
600
+ homepage: http://dawnscanner.org
571
601
  licenses: []
572
602
  metadata: {}
573
603
  post_install_message:
@@ -586,10 +616,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
586
616
  version: '0'
587
617
  requirements: []
588
618
  rubyforge_project:
589
- rubygems_version: 2.4.6
619
+ rubygems_version: 2.4.8
590
620
  signing_key:
591
621
  specification_version: 4
592
- summary: Codesake::Dawn is a security source code scanner for ruby powered code.
622
+ summary: Dawn is a security source code scanner for ruby powered code. It is crafted
623
+ with love to make your sinatra, padrino and ruby on rails web applications secure.
593
624
  test_files:
594
625
  - features/dawn_complains_about_an_incorrect_command_line.feature.disabled
595
626
  - features/dawn_scan_a_secure_sinatra_app.feature.disabled
@@ -652,10 +683,21 @@ test_files:
652
683
  - spec/lib/kb/cve_2014_2538_spec.rb
653
684
  - spec/lib/kb/cve_2014_3482_spec.rb
654
685
  - spec/lib/kb/cve_2014_3483_spec.rb
686
+ - spec/lib/kb/cve_2015_1840_spec.rb
687
+ - spec/lib/kb/cve_2015_2963_spec.rb
688
+ - spec/lib/kb/cve_2015_3224_spec.rb
689
+ - spec/lib/kb/cve_2015_3225_spec.rb
690
+ - spec/lib/kb/cve_2015_3226_spec.rb
691
+ - spec/lib/kb/cve_2015_3227_spec.rb
655
692
  - spec/lib/kb/osvdb_105971_spec.rb
656
693
  - spec/lib/kb/osvdb_108530_spec.rb
657
694
  - spec/lib/kb/osvdb_108563_spec.rb
658
695
  - spec/lib/kb/osvdb_108569_spec.rb
659
696
  - spec/lib/kb/osvdb_108570_spec.rb
697
+ - spec/lib/kb/osvdb_118579_spec.rb
698
+ - spec/lib/kb/osvdb_118830_spec.rb
699
+ - spec/lib/kb/osvdb_118954_spec.rb
700
+ - spec/lib/kb/osvdb_119878_spec.rb
701
+ - spec/lib/kb/osvdb_119927_spec.rb
660
702
  - spec/lib/kb/owasp_ror_cheatsheet_disabled.rb
661
703
  - spec/spec_helper.rb
metadata.gz.sig CHANGED
Binary file