iZsh-wwmd 0.2.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. data/History.txt +24 -0
  2. data/README.rdoc +87 -0
  3. data/Rakefile +34 -0
  4. data/examples/config_example.yaml +24 -0
  5. data/examples/wwmd_example.rb +73 -0
  6. data/lib/wwmd.rb +78 -0
  7. data/lib/wwmd/class_extensions.rb +2 -0
  8. data/lib/wwmd/class_extensions/extensions_base.rb +235 -0
  9. data/lib/wwmd/class_extensions/extensions_encoding.rb +79 -0
  10. data/lib/wwmd/class_extensions/extensions_external.rb +18 -0
  11. data/lib/wwmd/class_extensions/extensions_nilclass.rb +11 -0
  12. data/lib/wwmd/class_extensions/extensions_rbkb.rb +188 -0
  13. data/lib/wwmd/class_extensions/mixins_string_encoding.rb +40 -0
  14. data/lib/wwmd/guid.rb +155 -0
  15. data/lib/wwmd/page.rb +3 -0
  16. data/lib/wwmd/page/auth.rb +17 -0
  17. data/lib/wwmd/page/constants.rb +64 -0
  18. data/lib/wwmd/page/form.rb +99 -0
  19. data/lib/wwmd/page/form_array.rb +296 -0
  20. data/lib/wwmd/page/headers.rb +111 -0
  21. data/lib/wwmd/page/helpers.rb +30 -0
  22. data/lib/wwmd/page/html2text_hpricot.rb +76 -0
  23. data/lib/wwmd/page/html2text_nokogiri.rb +42 -0
  24. data/lib/wwmd/page/inputs.rb +47 -0
  25. data/lib/wwmd/page/irb_helpers.rb +114 -0
  26. data/lib/wwmd/page/page.rb +241 -0
  27. data/lib/wwmd/page/parsing_convenience.rb +94 -0
  28. data/lib/wwmd/page/reporting_helpers.rb +87 -0
  29. data/lib/wwmd/page/scrape.rb +198 -0
  30. data/lib/wwmd/page/spider.rb +127 -0
  31. data/lib/wwmd/urlparse.rb +104 -0
  32. data/lib/wwmd/viewstate.rb +17 -0
  33. data/lib/wwmd/viewstate/viewstate.rb +101 -0
  34. data/lib/wwmd/viewstate/viewstate_deserializer_methods.rb +217 -0
  35. data/lib/wwmd/viewstate/viewstate_from_xml.rb +128 -0
  36. data/lib/wwmd/viewstate/viewstate_types.rb +51 -0
  37. data/lib/wwmd/viewstate/viewstate_utils.rb +162 -0
  38. data/lib/wwmd/viewstate/viewstate_yaml.rb +25 -0
  39. data/lib/wwmd/viewstate/vs_stubs.rb +22 -0
  40. data/lib/wwmd/viewstate/vs_stubs/vs_array.rb +38 -0
  41. data/lib/wwmd/viewstate/vs_stubs/vs_binary_serialized.rb +30 -0
  42. data/lib/wwmd/viewstate/vs_stubs/vs_hashtable.rb +42 -0
  43. data/lib/wwmd/viewstate/vs_stubs/vs_hybrid_dict.rb +42 -0
  44. data/lib/wwmd/viewstate/vs_stubs/vs_indexed_string.rb +6 -0
  45. data/lib/wwmd/viewstate/vs_stubs/vs_indexed_string_ref.rb +24 -0
  46. data/lib/wwmd/viewstate/vs_stubs/vs_int_enum.rb +27 -0
  47. data/lib/wwmd/viewstate/vs_stubs/vs_list.rb +34 -0
  48. data/lib/wwmd/viewstate/vs_stubs/vs_pair.rb +29 -0
  49. data/lib/wwmd/viewstate/vs_stubs/vs_read_types.rb +11 -0
  50. data/lib/wwmd/viewstate/vs_stubs/vs_read_value.rb +35 -0
  51. data/lib/wwmd/viewstate/vs_stubs/vs_sparse_array.rb +58 -0
  52. data/lib/wwmd/viewstate/vs_stubs/vs_string.rb +33 -0
  53. data/lib/wwmd/viewstate/vs_stubs/vs_string_array.rb +39 -0
  54. data/lib/wwmd/viewstate/vs_stubs/vs_string_formatted.rb +32 -0
  55. data/lib/wwmd/viewstate/vs_stubs/vs_stub_helpers.rb +37 -0
  56. data/lib/wwmd/viewstate/vs_stubs/vs_triplet.rb +31 -0
  57. data/lib/wwmd/viewstate/vs_stubs/vs_type.rb +23 -0
  58. data/lib/wwmd/viewstate/vs_stubs/vs_unit.rb +30 -0
  59. data/lib/wwmd/viewstate/vs_stubs/vs_value.rb +35 -0
  60. data/lib/wwmd/wwmd_config.rb +52 -0
  61. data/lib/wwmd/wwmd_puts.rb +9 -0
  62. data/lib/wwmd/wwmd_utils.rb +28 -0
  63. data/spec/README +3 -0
  64. data/spec/form_array.spec +49 -0
  65. data/spec/spider_csrf_test.spec +28 -0
  66. data/spec/urlparse_test.spec +101 -0
  67. data/tasks/ann.rake +80 -0
  68. data/tasks/bones.rake +20 -0
  69. data/tasks/gem.rake +201 -0
  70. data/tasks/git.rake +40 -0
  71. data/tasks/notes.rake +27 -0
  72. data/tasks/post_load.rake +34 -0
  73. data/tasks/rdoc.rake +51 -0
  74. data/tasks/rubyforge.rake +55 -0
  75. data/tasks/setup.rb +292 -0
  76. data/tasks/spec.rake +54 -0
  77. data/tasks/test.rake +40 -0
  78. data/tasks/zentest.rake +36 -0
  79. metadata +174 -0
@@ -0,0 +1,54 @@
1
+
2
+ if HAVE_SPEC_RAKE_SPECTASK and not PROJ.spec.files.to_a.empty?
3
+ require 'spec/rake/verify_rcov'
4
+
5
+ namespace :spec do
6
+
7
+ desc 'Run all specs with basic output'
8
+ Spec::Rake::SpecTask.new(:run) do |t|
9
+ t.ruby_opts = PROJ.ruby_opts
10
+ t.spec_opts = PROJ.spec.opts
11
+ t.spec_files = PROJ.spec.files
12
+ t.libs += PROJ.libs
13
+ end
14
+
15
+ desc 'Run all specs with text output'
16
+ Spec::Rake::SpecTask.new(:specdoc) do |t|
17
+ t.ruby_opts = PROJ.ruby_opts
18
+ t.spec_opts = PROJ.spec.opts + ['--format', 'specdoc']
19
+ t.spec_files = PROJ.spec.files
20
+ t.libs += PROJ.libs
21
+ end
22
+
23
+ if HAVE_RCOV
24
+ desc 'Run all specs with RCov'
25
+ Spec::Rake::SpecTask.new(:rcov) do |t|
26
+ t.ruby_opts = PROJ.ruby_opts
27
+ t.spec_opts = PROJ.spec.opts
28
+ t.spec_files = PROJ.spec.files
29
+ t.libs += PROJ.libs
30
+ t.rcov = true
31
+ t.rcov_dir = PROJ.rcov.dir
32
+ t.rcov_opts = PROJ.rcov.opts + ['--exclude', 'spec']
33
+ end
34
+
35
+ RCov::VerifyTask.new(:verify) do |t|
36
+ t.threshold = PROJ.rcov.threshold
37
+ t.index_html = File.join(PROJ.rcov.dir, 'index.html')
38
+ t.require_exact_threshold = PROJ.rcov.threshold_exact
39
+ end
40
+
41
+ task :verify => :rcov
42
+ remove_desc_for_task %w(spec:clobber_rcov)
43
+ end
44
+
45
+ end # namespace :spec
46
+
47
+ desc 'Alias to spec:run'
48
+ task :spec => 'spec:run'
49
+
50
+ task :clobber => 'spec:clobber_rcov' if HAVE_RCOV
51
+
52
+ end # if HAVE_SPEC_RAKE_SPECTASK
53
+
54
+ # EOF
@@ -0,0 +1,40 @@
1
+
2
+ if test(?e, PROJ.test.file) or not PROJ.test.files.to_a.empty?
3
+ require 'rake/testtask'
4
+
5
+ namespace :test do
6
+
7
+ Rake::TestTask.new(:run) do |t|
8
+ t.libs = PROJ.libs
9
+ t.test_files = if test(?f, PROJ.test.file) then [PROJ.test.file]
10
+ else PROJ.test.files end
11
+ t.ruby_opts += PROJ.ruby_opts
12
+ t.ruby_opts += PROJ.test.opts
13
+ end
14
+
15
+ if HAVE_RCOV
16
+ desc 'Run rcov on the unit tests'
17
+ task :rcov => :clobber_rcov do
18
+ opts = PROJ.rcov.opts.dup << '-o' << PROJ.rcov.dir
19
+ opts = opts.join(' ')
20
+ files = if test(?f, PROJ.test.file) then [PROJ.test.file]
21
+ else PROJ.test.files end
22
+ files = files.join(' ')
23
+ sh "#{RCOV} #{files} #{opts}"
24
+ end
25
+
26
+ task :clobber_rcov do
27
+ rm_r 'coverage' rescue nil
28
+ end
29
+ end
30
+
31
+ end # namespace :test
32
+
33
+ desc 'Alias to test:run'
34
+ task :test => 'test:run'
35
+
36
+ task :clobber => 'test:clobber_rcov' if HAVE_RCOV
37
+
38
+ end
39
+
40
+ # EOF
@@ -0,0 +1,36 @@
1
+ if HAVE_ZENTEST
2
+
3
+ # --------------------------------------------------------------------------
4
+ if test(?e, PROJ.test.file) or not PROJ.test.files.to_a.empty?
5
+ require 'autotest'
6
+
7
+ namespace :test do
8
+ task :autotest do
9
+ Autotest.run
10
+ end
11
+ end
12
+
13
+ desc "Run the autotest loop"
14
+ task :autotest => 'test:autotest'
15
+
16
+ end # if test
17
+
18
+ # --------------------------------------------------------------------------
19
+ if HAVE_SPEC_RAKE_SPECTASK and not PROJ.spec.files.to_a.empty?
20
+ require 'autotest/rspec'
21
+
22
+ namespace :spec do
23
+ task :autotest do
24
+ load '.autotest' if test(?f, '.autotest')
25
+ Autotest::Rspec.run
26
+ end
27
+ end
28
+
29
+ desc "Run the autotest loop"
30
+ task :autotest => 'spec:autotest'
31
+
32
+ end # if rspec
33
+
34
+ end # if HAVE_ZENTEST
35
+
36
+ # EOF
metadata ADDED
@@ -0,0 +1,174 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: iZsh-wwmd
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.19
5
+ platform: ruby
6
+ authors:
7
+ - Michael L. Tracy
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-08-13 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: ruby-debug
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.10.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: curb
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.4.8.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: nokogiri
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.3.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: bones
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 2.5.1
54
+ version:
55
+ description: WWMD was originally intended to provide a console helper tool for conducting web application security assessments (which is something I find myself doing alot of). I've spent alot of time and had alot of success writing application specific fuzzers + scrapers to test with. WWMD provides a base of useful code to help you work with web sites both in IRB and by writing scripts that can be as generic or as application specific as you choose. There's alot of helpful stuff crammed in here and its usage has evolved alot. It's not intended to replace, remove or be better than any of the tools you currently use. In fact, WWMD works best *with* the tools you currently use to get stuff done. You get convenience methods for getting, scraping, spidering, decoding, decrypting and munging user inputs, pages and web applications. It doesn't try to be smart. That's up to you. What's here is the basic framework for getting started. There's a raft of cookbook scripts and examples that are coming soon so make sure you check the wiki regularly.
56
+ email: mtracy@matasano.com
57
+ executables: []
58
+
59
+ extensions: []
60
+
61
+ extra_rdoc_files:
62
+ - History.txt
63
+ - README.rdoc
64
+ files:
65
+ - History.txt
66
+ - README.rdoc
67
+ - Rakefile
68
+ - examples/config_example.yaml
69
+ - examples/wwmd_example.rb
70
+ - lib/wwmd.rb
71
+ - lib/wwmd/class_extensions.rb
72
+ - lib/wwmd/class_extensions/extensions_base.rb
73
+ - lib/wwmd/class_extensions/extensions_encoding.rb
74
+ - lib/wwmd/class_extensions/extensions_external.rb
75
+ - lib/wwmd/class_extensions/extensions_nilclass.rb
76
+ - lib/wwmd/class_extensions/extensions_rbkb.rb
77
+ - lib/wwmd/class_extensions/mixins_string_encoding.rb
78
+ - lib/wwmd/guid.rb
79
+ - lib/wwmd/page.rb
80
+ - lib/wwmd/page/auth.rb
81
+ - lib/wwmd/page/constants.rb
82
+ - lib/wwmd/page/form.rb
83
+ - lib/wwmd/page/form_array.rb
84
+ - lib/wwmd/page/headers.rb
85
+ - lib/wwmd/page/helpers.rb
86
+ - lib/wwmd/page/html2text_hpricot.rb
87
+ - lib/wwmd/page/html2text_nokogiri.rb
88
+ - lib/wwmd/page/inputs.rb
89
+ - lib/wwmd/page/irb_helpers.rb
90
+ - lib/wwmd/page/page.rb
91
+ - lib/wwmd/page/parsing_convenience.rb
92
+ - lib/wwmd/page/reporting_helpers.rb
93
+ - lib/wwmd/page/scrape.rb
94
+ - lib/wwmd/page/spider.rb
95
+ - lib/wwmd/urlparse.rb
96
+ - lib/wwmd/viewstate.rb
97
+ - lib/wwmd/viewstate/viewstate.rb
98
+ - lib/wwmd/viewstate/viewstate_deserializer_methods.rb
99
+ - lib/wwmd/viewstate/viewstate_from_xml.rb
100
+ - lib/wwmd/viewstate/viewstate_types.rb
101
+ - lib/wwmd/viewstate/viewstate_utils.rb
102
+ - lib/wwmd/viewstate/viewstate_yaml.rb
103
+ - lib/wwmd/viewstate/vs_stubs.rb
104
+ - lib/wwmd/viewstate/vs_stubs/vs_array.rb
105
+ - lib/wwmd/viewstate/vs_stubs/vs_binary_serialized.rb
106
+ - lib/wwmd/viewstate/vs_stubs/vs_hashtable.rb
107
+ - lib/wwmd/viewstate/vs_stubs/vs_hybrid_dict.rb
108
+ - lib/wwmd/viewstate/vs_stubs/vs_indexed_string.rb
109
+ - lib/wwmd/viewstate/vs_stubs/vs_indexed_string_ref.rb
110
+ - lib/wwmd/viewstate/vs_stubs/vs_int_enum.rb
111
+ - lib/wwmd/viewstate/vs_stubs/vs_list.rb
112
+ - lib/wwmd/viewstate/vs_stubs/vs_pair.rb
113
+ - lib/wwmd/viewstate/vs_stubs/vs_read_types.rb
114
+ - lib/wwmd/viewstate/vs_stubs/vs_read_value.rb
115
+ - lib/wwmd/viewstate/vs_stubs/vs_sparse_array.rb
116
+ - lib/wwmd/viewstate/vs_stubs/vs_string.rb
117
+ - lib/wwmd/viewstate/vs_stubs/vs_string_array.rb
118
+ - lib/wwmd/viewstate/vs_stubs/vs_string_formatted.rb
119
+ - lib/wwmd/viewstate/vs_stubs/vs_stub_helpers.rb
120
+ - lib/wwmd/viewstate/vs_stubs/vs_triplet.rb
121
+ - lib/wwmd/viewstate/vs_stubs/vs_type.rb
122
+ - lib/wwmd/viewstate/vs_stubs/vs_unit.rb
123
+ - lib/wwmd/viewstate/vs_stubs/vs_value.rb
124
+ - lib/wwmd/wwmd_config.rb
125
+ - lib/wwmd/wwmd_puts.rb
126
+ - lib/wwmd/wwmd_utils.rb
127
+ - spec/README
128
+ - spec/form_array.spec
129
+ - spec/spider_csrf_test.spec
130
+ - spec/urlparse_test.spec
131
+ - tasks/ann.rake
132
+ - tasks/bones.rake
133
+ - tasks/gem.rake
134
+ - tasks/git.rake
135
+ - tasks/notes.rake
136
+ - tasks/post_load.rake
137
+ - tasks/rdoc.rake
138
+ - tasks/rubyforge.rake
139
+ - tasks/setup.rb
140
+ - tasks/spec.rake
141
+ - tasks/test.rake
142
+ - tasks/zentest.rake
143
+ has_rdoc: false
144
+ homepage: http://github.com/miketracy/wwmd/tree/master
145
+ licenses:
146
+ post_install_message:
147
+ rdoc_options:
148
+ - --main
149
+ - README.rdoc
150
+ require_paths:
151
+ - lib
152
+ required_ruby_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: "0"
157
+ version:
158
+ required_rubygems_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: "0"
163
+ version:
164
+ requirements: []
165
+
166
+ rubyforge_project: !binary |
167
+ AA==
168
+
169
+ rubygems_version: 1.3.5
170
+ signing_key:
171
+ specification_version: 3
172
+ summary: WWMD was originally intended to provide a console helper tool for conducting web application security assessments (which is something I find myself doing alot of)
173
+ test_files: []
174
+