fuzzer 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NGQzMDJhMzE2ZjYzODhhYmIxNDA3N2EwNDE0Zjg5ZjIxYWYzYWJmZg==
5
+ data.tar.gz: !binary |-
6
+ ZWZkN2I0ODYyY2Y5YjJlNTJlNWI2NGE2NDkyMGJmYmY4Yjg5ZjBkNQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ZTE4MGQ4NTY5YzQxNjZhYjA4MGNlYTlhMTJiNmI0ZTAyY2Q1OWM4MzlhMzI0
10
+ ZWU3OWJhZTEyNDM0ZTg2ODUzZDJjZGJiYzEzNzllYjhjZjA2ZTdkYWE4OGM3
11
+ MDRjOWE2YjExMjVjZjFlYzNhM2VlNWEwNDAwYzI1MzlmMWNjN2E=
12
+ data.tar.gz: !binary |-
13
+ YzY0OWFkYzQ3MmExYmU3ZjczMDc4MzQ0ZWU0NzkzMjUyOTRlN2QxMjdlMDVi
14
+ NDRmOGJmMDBjMTgzMGM0YjhlMDEyZjIyMjVhMGRjODU5MGMwNTVmNDdhZDA2
15
+ MjRjNjE2MWM4MDcxMmZhM2FhZWE0NmY0MWNkMDEzOWY4ODAzMGM=
data/bin/fuzzer CHANGED
@@ -1,5 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'fuzzer'
3
+ path = File.expand_path(__FILE__) + "/../.."
4
+ require "#{path}/lib/fuzzer"
5
+ require "#{path}/lib/fuzzer/version"
6
+ require "#{path}/lib/fuzzer/gzip"
7
+ require "#{path}/lib/fuzzer/cli"
4
8
 
5
9
  Fuzzer::CLI.start(ARGV)
data/lib/fuzzer/cli.rb CHANGED
@@ -1,10 +1,13 @@
1
+ require 'open-uri'
2
+ require 'yaml'
3
+
1
4
  module Fuzzer
2
5
 
3
6
  class CLI
4
7
  def self.start(argv)
5
8
  url = argv.shift
6
9
 
7
- data = YAML::load(File.read("config.yml"));
10
+ data = YAML::load_file("config.yml");
8
11
  if data['secret_access_key'].nil? || data['access_key_id'].nil?
9
12
  puts "In this directory, create a config.yml file with the Amazon secret_access_key: <value> and access_key_id: <value>"
10
13
  exit(1)
@@ -19,8 +22,8 @@ class CLI
19
22
  end
20
23
 
21
24
  begin
22
- file_name = CLI.download(url)
23
- short_name = CLI.gunzip(file_name)
25
+ file_name = download(url)
26
+ short_name = gunzip(file_name)
24
27
 
25
28
  # manipulate it
26
29
  puts "We can corrupt this database two ways:"
@@ -32,12 +35,13 @@ class CLI
32
35
  input = gets.chomp
33
36
  end while (input != "e" && input != "s")
34
37
 
38
+ puts "Working on it..."
35
39
  db = SQLite3::Database.new(short_name)
36
- CLI.fuzz_content(db)
37
- CLI.fuzz_integrity(db) if input == "s"
40
+ fuzz_content(db)
41
+ fuzz_integrity(db) if input == "s"
38
42
 
39
43
  # Query as to what should be broken?
40
- final_name = CLI.gzip(short_name)
44
+ final_name = gzip(short_name)
41
45
  upload(data, final_name)
42
46
  rescue Exception => e
43
47
  puts "Well, that didn't end well: #{e.message}"
@@ -87,7 +91,7 @@ class CLI
87
91
  short_name = file_name.gsub('.gz','')
88
92
  File.open(short_name, "w+") do |file|
89
93
  gunk = File.open(file_name, "rb")
90
- file.write( Zumobi::GzipReader.un_gzip(gunk.read))
94
+ file.write( Fuzzer::Gzip.ungzip(gunk.read))
91
95
  end
92
96
  FileUtils.rm(file_name)
93
97
  puts "Gunzipped the db: #{file_name}"
@@ -98,7 +102,7 @@ class CLI
98
102
  new_name = file_name.gsub(".db", ".#{Time.now.to_i.to_s}.db.gz")
99
103
  File.open(new_name, "w+") do |file|
100
104
  gunk = File.open(file_name, "rb")
101
- file.write( Zumobi::GzipWriter.gzip(gunk.read))
105
+ file.write( Fuzzer::Gzip.gzip(gunk.read))
102
106
  end
103
107
  FileUtils.rm(file_name)
104
108
  puts "Gzipped the db: #{new_name}"
@@ -0,0 +1,20 @@
1
+ module Fuzzer
2
+ class Gzip
3
+ def self.ungzip(string)
4
+ strio = StringIO.open(string, 'r')
5
+ gz = Zlib::GzipReader.new(strio)
6
+ unzipped = gz.read
7
+ gz.close
8
+ unzipped
9
+ end
10
+
11
+ def self.gzip(string)
12
+ #http://devblog.famundo.com/articles/2007/03/02/serving-compressed-content-from-amazons-s3
13
+ strio = StringIO.open('', 'w')
14
+ gz = Zlib::GzipWriter.new(strio)
15
+ gz.write(string)
16
+ gz.close
17
+ strio.string
18
+ end
19
+ end
20
+ end
@@ -1,3 +1,3 @@
1
1
  module Fuzzer
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/fuzzer.rb CHANGED
@@ -1,10 +1,6 @@
1
1
  module Fuzzer
2
2
  end
3
3
 
4
- require 'open-uri'
5
4
  require 'right_aws'
6
5
  require 'sqlite3'
7
- require 'yaml'
8
- require 'zumobi'
9
- require 'fuzzer/version'
10
- require 'fuzzer/cli'
6
+ require 'zlib'
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fuzzer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ version: 0.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alx Dark
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-29 00:00:00.000000000 Z
11
+ date: 2013-07-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: right_aws
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,23 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: zumobi
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
23
  requirements:
43
24
  - - ! '>='
44
25
  - !ruby/object:Gem::Version
@@ -46,7 +27,6 @@ dependencies:
46
27
  - !ruby/object:Gem::Dependency
47
28
  name: sqlite3
48
29
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
30
  requirements:
51
31
  - - ! '>='
52
32
  - !ruby/object:Gem::Version
@@ -54,7 +34,6 @@ dependencies:
54
34
  type: :runtime
55
35
  prerelease: false
56
36
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
37
  requirements:
59
38
  - - ! '>='
60
39
  - !ruby/object:Gem::Version
@@ -67,33 +46,31 @@ extensions: []
67
46
  extra_rdoc_files: []
68
47
  files:
69
48
  - lib/fuzzer/cli.rb
49
+ - lib/fuzzer/gzip.rb
70
50
  - lib/fuzzer/version.rb
71
51
  - lib/fuzzer.rb
72
- - test/test_fuzzer.rb
73
52
  - bin/fuzzer
74
53
  homepage: ''
75
54
  licenses: []
55
+ metadata: {}
76
56
  post_install_message:
77
57
  rdoc_options: []
78
58
  require_paths:
79
59
  - lib
80
60
  required_ruby_version: !ruby/object:Gem::Requirement
81
- none: false
82
61
  requirements:
83
62
  - - ! '>='
84
63
  - !ruby/object:Gem::Version
85
64
  version: '0'
86
65
  required_rubygems_version: !ruby/object:Gem::Requirement
87
- none: false
88
66
  requirements:
89
67
  - - ! '>='
90
68
  - !ruby/object:Gem::Version
91
69
  version: '0'
92
70
  requirements: []
93
71
  rubyforge_project:
94
- rubygems_version: 1.8.23
72
+ rubygems_version: 2.0.6
95
73
  signing_key:
96
- specification_version: 3
74
+ specification_version: 4
97
75
  summary: Fuzzes client sqlite dbs.
98
- test_files:
99
- - test/test_fuzzer.rb
76
+ test_files: []
data/test/test_fuzzer.rb DELETED
@@ -1,9 +0,0 @@
1
- require 'test/unit'
2
- require 'rubygems' # Tests don't run without this, in 1.8.7 at least.
3
- require 'fuzzer'
4
-
5
- class FuzzerTest < Test::Unit::TestCase
6
- def test_output
7
- # assert_equal "This is my task".colorize(:color => :green), Fuzzer.new.generate()
8
- end
9
- end