watobo 0.9.12 → 0.9.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (263) hide show
  1. data/.yardopts +2 -2
  2. data/{CHANGELOG → CHANGELOG.md} +62 -0
  3. data/README.md +30 -0
  4. data/bin/nfq_server.rb +4 -3
  5. data/bin/watobo_gui.rb +1 -1
  6. data/config/ott_cache.yml +4 -0
  7. data/config/scanner.yml +1 -18
  8. data/config/sid_cache.yml +14 -0
  9. data/extras/private-hostspot.sh +17 -0
  10. data/extras/watobo-installer.sh +61 -0
  11. data/extras/watobo-transparent.sh +38 -0
  12. data/icons/BestPractice_16x16.ico +0 -0
  13. data/icons/BestPractice_24x24.ico +0 -0
  14. data/lib/watobo/adapters/data_store.rb +25 -3
  15. data/lib/watobo/adapters/file/file_store.rb +19 -11
  16. data/lib/watobo/adapters/session_store.rb +3 -2
  17. data/lib/watobo/adapters.rb +1 -1
  18. data/lib/watobo/ca.rb +1 -1
  19. data/lib/watobo/config.rb +17 -19
  20. data/lib/watobo/constants.rb +3 -2
  21. data/lib/watobo/core/active_check.rb +62 -40
  22. data/lib/watobo/core/active_checks.rb +73 -0
  23. data/lib/watobo/core/ca.rb +3 -2
  24. data/lib/watobo/core/cert_store.rb +3 -2
  25. data/lib/watobo/core/chat.rb +122 -0
  26. data/lib/watobo/core/chats.rb +301 -0
  27. data/lib/watobo/core/conversation.rb +71 -0
  28. data/lib/watobo/core/cookie.rb +9 -25
  29. data/lib/watobo/core/finding.rb +89 -0
  30. data/lib/watobo/core/findings.rb +132 -0
  31. data/lib/watobo/core/forwarding_proxy.rb +4 -2
  32. data/lib/watobo/core/fuzz_gen.rb +3 -2
  33. data/lib/watobo/core/intercept_carver.rb +24 -12
  34. data/lib/watobo/core/intercept_filter.rb +4 -3
  35. data/lib/watobo/core/interceptor.rb +9 -888
  36. data/lib/watobo/core/min_class.rb +27 -0
  37. data/lib/watobo/core/netfilter_queue.rb +3 -2
  38. data/lib/watobo/core/ott_cache.rb +156 -0
  39. data/lib/watobo/core/parameter.rb +66 -0
  40. data/lib/watobo/core/passive_check.rb +15 -22
  41. data/lib/watobo/core/passive_checks.rb +72 -0
  42. data/lib/watobo/core/passive_scanner.rb +69 -0
  43. data/lib/watobo/core/plugin.rb +33 -0
  44. data/lib/watobo/core/project.rb +40 -547
  45. data/lib/watobo/core/proxy.rb +7 -2
  46. data/lib/watobo/core/request.rb +95 -10
  47. data/lib/watobo/core/response.rb +44 -3
  48. data/lib/watobo/core/scanner.rb +6 -7
  49. data/lib/watobo/core/scanner3.rb +439 -0
  50. data/lib/watobo/core/scope.rb +106 -0
  51. data/lib/watobo/core/session.rb +106 -286
  52. data/lib/watobo/core/sid_cache.rb +121 -0
  53. data/lib/watobo/core/subscriber.rb +48 -0
  54. data/lib/watobo/core.rb +2 -2
  55. data/lib/watobo/defaults.rb +3 -2
  56. data/lib/watobo/external/diff/lcs/array.rb +1 -1
  57. data/lib/watobo/external/diff/lcs/block.rb +1 -1
  58. data/lib/watobo/external/diff/lcs/callbacks.rb +1 -1
  59. data/lib/watobo/external/diff/lcs/change.rb +1 -1
  60. data/lib/watobo/external/diff/lcs/hunk.rb +1 -1
  61. data/lib/watobo/external/diff/lcs/ldiff.rb +1 -1
  62. data/lib/watobo/external/diff/lcs/string.rb +1 -1
  63. data/lib/watobo/external/diff/lcs.rb +1 -1
  64. data/lib/watobo/external/ntlm/ntlm.rb +1 -1
  65. data/lib/watobo/externals.rb +1 -1
  66. data/lib/watobo/framework/create_project.rb +19 -12
  67. data/lib/watobo/framework/init.rb +4 -3
  68. data/lib/watobo/framework/init_modules.rb +32 -3
  69. data/lib/watobo/framework/license_text.rb +3 -2
  70. data/lib/watobo/framework/load_chat.rb +36 -0
  71. data/lib/watobo/framework.rb +2 -2
  72. data/lib/watobo/gui/about_watobo.rb +3 -2
  73. data/lib/watobo/gui/browser_preview.rb +4 -3
  74. data/lib/watobo/gui/certificate_dialog.rb +3 -2
  75. data/lib/watobo/gui/chat_diff.rb +6 -14
  76. data/lib/watobo/gui/chatviewer_frame.rb +30 -5
  77. data/lib/watobo/gui/checkboxtree.rb +13 -12
  78. data/lib/watobo/gui/checks_policy_frame.rb +8 -10
  79. data/lib/watobo/gui/client_cert_dialog.rb +8 -6
  80. data/lib/watobo/gui/confirm_scan_dialog.rb +5 -3
  81. data/lib/watobo/gui/conversation_table.rb +288 -51
  82. data/lib/watobo/gui/conversation_table_ctrl.rb +36 -3
  83. data/lib/watobo/gui/conversation_table_ctrl2.rb +416 -0
  84. data/lib/watobo/gui/csrf_token_dialog.rb +25 -33
  85. data/lib/watobo/gui/dashboard.rb +47 -45
  86. data/lib/watobo/gui/define_scope_frame.rb +27 -22
  87. data/lib/watobo/gui/differ_frame.rb +238 -0
  88. data/lib/watobo/gui/edit_comment.rb +3 -2
  89. data/lib/watobo/gui/edit_scope_dialog.rb +7 -6
  90. data/lib/watobo/gui/finding_info.rb +3 -2
  91. data/lib/watobo/gui/findings_tree.rb +101 -26
  92. data/lib/watobo/gui/full_scan_dialog.rb +5 -6
  93. data/lib/watobo/gui/fuzzer_gui.rb +51 -18
  94. data/lib/watobo/gui/goto_url_dialog.rb +92 -0
  95. data/lib/watobo/gui/hex_viewer.rb +16 -5
  96. data/lib/watobo/gui/html_viewer.rb +309 -0
  97. data/lib/watobo/gui/intercept_filter_dialog.rb +3 -2
  98. data/lib/watobo/gui/interceptor_gui.rb +5 -4
  99. data/lib/watobo/gui/interceptor_settings_dialog.rb +4 -3
  100. data/lib/watobo/gui/list_box.rb +4 -3
  101. data/lib/watobo/gui/log_file_viewer.rb +55 -0
  102. data/lib/watobo/gui/log_viewer.rb +3 -82
  103. data/lib/watobo/gui/login_wizzard.rb +3 -3
  104. data/lib/watobo/gui/main_window.rb +183 -164
  105. data/lib/watobo/gui/manual_request_editor.rb +157 -642
  106. data/lib/watobo/gui/master_pw_dialog.rb +3 -2
  107. data/lib/watobo/gui/mixins/gui_settings.rb +3 -2
  108. data/lib/watobo/gui/page_tree.rb +3 -2
  109. data/lib/watobo/gui/password_policy_dialog.rb +3 -2
  110. data/lib/watobo/gui/plugin_board.rb +103 -73
  111. data/lib/watobo/gui/preferences_dialog.rb +3 -2
  112. data/lib/watobo/gui/progress_window.rb +3 -2
  113. data/lib/watobo/gui/project_wizzard.rb +3 -2
  114. data/lib/watobo/gui/proxy_dialog.rb +3 -2
  115. data/lib/watobo/gui/quick_scan_dialog.rb +17 -32
  116. data/lib/watobo/gui/request_builder_frame.rb +134 -0
  117. data/lib/watobo/gui/request_editor.rb +14 -9
  118. data/lib/watobo/gui/rewrite_filters_dialog.rb +4 -3
  119. data/lib/watobo/gui/rewrite_rules_dialog.rb +4 -3
  120. data/lib/watobo/gui/save_chat_dialog.rb +7 -3
  121. data/lib/watobo/gui/scanner_settings_dialog.rb +4 -3
  122. data/lib/watobo/gui/select_chat_dialog.rb +15 -25
  123. data/lib/watobo/gui/session_management_dialog.rb +21 -25
  124. data/lib/watobo/gui/sites_tree.rb +5 -4
  125. data/lib/watobo/gui/status_bar.rb +3 -2
  126. data/lib/watobo/gui/table_editor.rb +398 -386
  127. data/lib/watobo/gui/tagless_viewer.rb +3 -2
  128. data/lib/watobo/gui/templates/plugin.rb +3 -2
  129. data/lib/watobo/gui/templates/plugin2.rb +4 -3
  130. data/lib/watobo/gui/templates/plugin_base.rb +168 -0
  131. data/lib/watobo/gui/text_viewer.rb +49 -3
  132. data/lib/watobo/gui/transcoder_window.rb +3 -2
  133. data/lib/watobo/gui/utils/gui_utils.rb +5 -4
  134. data/lib/watobo/gui/utils/init_icons.rb +5 -2
  135. data/lib/watobo/gui/utils/load_icons.rb +3 -2
  136. data/lib/watobo/gui/utils/load_plugins.rb +22 -5
  137. data/lib/watobo/gui/utils/master_password.rb +3 -2
  138. data/lib/watobo/gui/utils/save_default_settings.rb +7 -5
  139. data/lib/watobo/gui/utils/save_project_settings.rb +1 -1
  140. data/lib/watobo/gui/utils/save_proxy_settings.rb +4 -3
  141. data/lib/watobo/gui/utils/save_scanner_settings.rb +5 -4
  142. data/lib/watobo/gui/utils/session_history.rb +3 -2
  143. data/lib/watobo/gui/workspace_dialog.rb +3 -2
  144. data/lib/watobo/gui/www_auth_dialog.rb +4 -3
  145. data/lib/watobo/gui/xml_viewer_frame.rb +3 -2
  146. data/lib/watobo/gui.rb +6 -3
  147. data/lib/watobo/http/cookies/cookies.rb +66 -0
  148. data/lib/watobo/http/data/data.rb +68 -0
  149. data/lib/watobo/{gui/mixins/subscriber.rb → http/url/url.rb} +33 -19
  150. data/lib/watobo/http_socket/agent.rb +851 -0
  151. data/lib/watobo/http_socket/client_socket.rb +290 -0
  152. data/lib/watobo/http_socket/connection.rb +423 -0
  153. data/lib/watobo/http_socket/http_socket.rb +273 -0
  154. data/lib/watobo/http_socket/ntlm_auth.rb +152 -0
  155. data/lib/watobo/http_socket/proxy.rb +31 -0
  156. data/lib/watobo/http_socket.rb +25 -0
  157. data/lib/watobo/interceptor/proxy.rb +883 -0
  158. data/lib/watobo/interceptor/transparent.rb +37 -0
  159. data/lib/watobo/interceptor.rb +25 -0
  160. data/lib/watobo/mixins/check_info.rb +50 -0
  161. data/lib/watobo/mixins/httpparser.rb +92 -20
  162. data/lib/watobo/mixins/request_parser.rb +103 -88
  163. data/lib/watobo/mixins/shapers.rb +42 -11
  164. data/lib/watobo/mixins/transcoders.rb +61 -57
  165. data/lib/watobo/mixins.rb +3 -2
  166. data/lib/watobo/parser/html.rb +106 -0
  167. data/lib/watobo/parser.rb +22 -0
  168. data/lib/watobo/utils/check_regex.rb +3 -2
  169. data/lib/watobo/utils/copy_object.rb +3 -2
  170. data/lib/watobo/utils/crypto.rb +3 -2
  171. data/lib/watobo/utils/expand_range.rb +3 -2
  172. data/lib/watobo/utils/file_management.rb +7 -3
  173. data/lib/watobo/utils/hexprint.rb +3 -2
  174. data/lib/watobo/utils/load_chat.rb +4 -3
  175. data/lib/watobo/utils/load_icon.rb +3 -2
  176. data/lib/watobo/utils/print_debug.rb +3 -2
  177. data/lib/watobo/utils/response_builder.rb +6 -4
  178. data/lib/watobo/utils/response_hash.rb +66 -49
  179. data/lib/watobo/utils/secure_eval.rb +3 -2
  180. data/lib/watobo/utils/strings.rb +3 -2
  181. data/lib/watobo/utils/text2request.rb +4 -5
  182. data/lib/watobo/utils/url.rb +46 -0
  183. data/lib/watobo/utils.rb +3 -2
  184. data/lib/watobo.rb +13 -3
  185. data/modules/active/Apache/mod_status.rb +15 -11
  186. data/modules/active/Flash/crossdomain.rb +17 -14
  187. data/modules/active/RoR/cve_2013_015x.rb +21 -0
  188. data/modules/active/directories/dirwalker.rb +10 -16
  189. data/modules/active/discovery/fileextensions.rb +10 -7
  190. data/modules/active/discovery/http_methods.rb +8 -9
  191. data/modules/active/domino/domino_db.rb +10 -11
  192. data/modules/active/dotNET/custom_errors.rb +124 -0
  193. data/modules/active/dotNET/dotnet_files.rb +112 -0
  194. data/modules/active/fileinclusion/lfi_simple.rb +9 -7
  195. data/modules/active/jboss/jboss_basic.rb +12 -9
  196. data/modules/active/sap/its_commands.rb +10 -9
  197. data/modules/active/sap/its_service_parameter.rb +10 -9
  198. data/modules/active/sap/its_services.rb +10 -9
  199. data/modules/active/sap/its_xss.rb +11 -10
  200. data/modules/active/siebel/siebel_apps.rb +14 -16
  201. data/modules/active/sqlinjection/sql_boolean.rb +139 -75
  202. data/modules/active/sqlinjection/sqli_error.rb +9 -6
  203. data/modules/active/sqlinjection/sqli_timing.rb +13 -11
  204. data/modules/active/xml/xml_xxe.rb +134 -0
  205. data/modules/active/xss/{xss_rated.rb → xss_ng.rb} +89 -56
  206. data/modules/active/xss/xss_simple.rb +9 -6
  207. data/modules/passive/ajax.rb +85 -0
  208. data/modules/passive/autocomplete.rb +78 -0
  209. data/modules/passive/cookie_options.rb +3 -2
  210. data/modules/passive/cookie_xss.rb +3 -2
  211. data/modules/passive/detect_code.rb +7 -4
  212. data/modules/passive/detect_fileupload.rb +3 -2
  213. data/modules/passive/detect_infrastructure.rb +7 -4
  214. data/modules/passive/detect_one_time_tokens.rb +3 -2
  215. data/modules/passive/dirindexing.rb +3 -2
  216. data/modules/passive/disclosure_domino.rb +3 -2
  217. data/modules/passive/disclosure_emails.rb +3 -2
  218. data/modules/passive/disclosure_ipaddr.rb +3 -2
  219. data/modules/passive/filename_as_parameter.rb +3 -2
  220. data/modules/passive/form_spotter.rb +10 -7
  221. data/modules/passive/hidden_fields.rb +73 -0
  222. data/modules/passive/hotspots.rb +7 -4
  223. data/modules/passive/in_script_parameter.rb +3 -2
  224. data/modules/passive/multiple_server_headers.rb +4 -3
  225. data/modules/passive/possible_login.rb +3 -2
  226. data/modules/passive/redirect_url.rb +3 -2
  227. data/modules/passive/redirectionz.rb +6 -3
  228. data/modules/passive/xss_dom.rb +16 -9
  229. data/plugins/catalog/catalog.rb +119 -193
  230. data/plugins/crawler/crawler.rb +4 -3
  231. data/plugins/crawler/gui/auth_frame.rb +3 -2
  232. data/plugins/crawler/gui/crawler_gui.rb +3 -2
  233. data/plugins/crawler/gui/general_settings_frame.rb +3 -2
  234. data/plugins/crawler/gui/hooks_frame.rb +3 -2
  235. data/plugins/crawler/gui/scope_frame.rb +3 -2
  236. data/plugins/crawler/gui/settings_tabbook.rb +3 -2
  237. data/plugins/crawler/gui/status_frame.rb +3 -2
  238. data/plugins/crawler/gui.rb +3 -2
  239. data/plugins/crawler/lib/bags.rb +3 -2
  240. data/plugins/crawler/lib/constants.rb +3 -2
  241. data/plugins/crawler/lib/engine.rb +3 -2
  242. data/plugins/crawler/lib/grabber.rb +3 -2
  243. data/plugins/crawler/lib/uri_mp.rb +1 -1
  244. data/plugins/filefinder/filefinder.rb +92 -70
  245. data/plugins/sqlmap/bin/test.rb +3 -2
  246. data/plugins/sqlmap/gui/main.rb +3 -2
  247. data/plugins/sqlmap/gui/options_frame.rb +4 -3
  248. data/plugins/sqlmap/gui.rb +1 -1
  249. data/plugins/sqlmap/lib/sqlmap_ctrl.rb +3 -2
  250. data/plugins/sqlmap/sqlmap.rb +1 -1
  251. data/plugins/sslchecker/cli/sslchecker_cli.rb +1 -1
  252. data/plugins/sslchecker/gui/cipher_table.rb +17 -10
  253. data/plugins/sslchecker/gui/gui.rb +59 -56
  254. data/plugins/sslchecker/gui/sslchecker.rb +1 -1
  255. data/plugins/sslchecker/lib/check.rb +43 -18
  256. data/plugins/wshell/gui/main.rb +130 -0
  257. data/plugins/wshell/icons/wsh.ico +0 -0
  258. data/plugins/wshell/lib/core.rb +99 -0
  259. data/plugins/wshell/wshell.rb +33 -0
  260. metadata +80 -8
  261. data/README +0 -26
  262. data/lib/watobo/core/http_socket.rb +0 -161
  263. data/lib/watobo/gui/plugin/base.rb +0 -82
@@ -0,0 +1,33 @@
1
+ # .
2
+ # wshell.rb
3
+ #
4
+ # Copyright 2013 by siberas, http://www.siberas.de
5
+ #
6
+ # This file is part of WATOBO (Web Application Tool Box)
7
+ # http://watobo.sourceforge.com
8
+ #
9
+ # WATOBO is free software; you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation version 2 of the License.
12
+ #
13
+ # WATOBO is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ # GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with WATOBO; if not, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
+ # .
22
+ # @private
23
+ module Watobo#:nodoc: all::Plugin
24
+ module Plugin
25
+ class WShell < Watobo::PluginBase
26
+ plugin_name "WShell"
27
+ description "With WShell you can execute ruby commands in the context of WATOBO.\nVery useful for advanced analysis of conversations or debugging purposes - or simply to explore WATOBO."
28
+ load_libs
29
+ load_gui :main
30
+ end
31
+ end
32
+ end
33
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watobo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.12
4
+ version: 0.9.13
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-20 00:00:00.000000000 Z
12
+ date: 2013-08-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mechanize
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: nokogiri
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
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: fxruby
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -53,6 +69,9 @@ executables:
53
69
  extensions: []
54
70
  extra_rdoc_files: []
55
71
  files:
72
+ - extras/private-hostspot.sh
73
+ - extras/watobo-installer.sh
74
+ - extras/watobo-transparent.sh
56
75
  - lib/watobo/adapters/data_store.rb
57
76
  - lib/watobo/adapters/file/file_store.rb
58
77
  - lib/watobo/adapters/session_store.rb
@@ -61,23 +80,38 @@ files:
61
80
  - lib/watobo/config.rb
62
81
  - lib/watobo/constants.rb
63
82
  - lib/watobo/core/active_check.rb
83
+ - lib/watobo/core/active_checks.rb
64
84
  - lib/watobo/core/ca.rb
65
85
  - lib/watobo/core/cert_store.rb
86
+ - lib/watobo/core/chat.rb
87
+ - lib/watobo/core/chats.rb
88
+ - lib/watobo/core/conversation.rb
66
89
  - lib/watobo/core/cookie.rb
90
+ - lib/watobo/core/finding.rb
91
+ - lib/watobo/core/findings.rb
67
92
  - lib/watobo/core/forwarding_proxy.rb
68
93
  - lib/watobo/core/fuzz_gen.rb
69
- - lib/watobo/core/http_socket.rb
70
94
  - lib/watobo/core/interceptor.rb
71
95
  - lib/watobo/core/intercept_carver.rb
72
96
  - lib/watobo/core/intercept_filter.rb
97
+ - lib/watobo/core/min_class.rb
73
98
  - lib/watobo/core/netfilter_queue.rb
99
+ - lib/watobo/core/ott_cache.rb
100
+ - lib/watobo/core/parameter.rb
74
101
  - lib/watobo/core/passive_check.rb
102
+ - lib/watobo/core/passive_checks.rb
103
+ - lib/watobo/core/passive_scanner.rb
104
+ - lib/watobo/core/plugin.rb
75
105
  - lib/watobo/core/project.rb
76
106
  - lib/watobo/core/proxy.rb
77
107
  - lib/watobo/core/request.rb
78
108
  - lib/watobo/core/response.rb
79
109
  - lib/watobo/core/scanner.rb
110
+ - lib/watobo/core/scanner3.rb
111
+ - lib/watobo/core/scope.rb
80
112
  - lib/watobo/core/session.rb
113
+ - lib/watobo/core/sid_cache.rb
114
+ - lib/watobo/core/subscriber.rb
81
115
  - lib/watobo/core.rb
82
116
  - lib/watobo/defaults.rb
83
117
  - lib/watobo/external/diff/lcs/array.rb
@@ -94,6 +128,7 @@ files:
94
128
  - lib/watobo/framework/init.rb
95
129
  - lib/watobo/framework/init_modules.rb
96
130
  - lib/watobo/framework/license_text.rb
131
+ - lib/watobo/framework/load_chat.rb
97
132
  - lib/watobo/framework.rb
98
133
  - lib/watobo/gui/about_watobo.rb
99
134
  - lib/watobo/gui/browser_preview.rb
@@ -106,36 +141,40 @@ files:
106
141
  - lib/watobo/gui/confirm_scan_dialog.rb
107
142
  - lib/watobo/gui/conversation_table.rb
108
143
  - lib/watobo/gui/conversation_table_ctrl.rb
144
+ - lib/watobo/gui/conversation_table_ctrl2.rb
109
145
  - lib/watobo/gui/csrf_token_dialog.rb
110
146
  - lib/watobo/gui/dashboard.rb
111
147
  - lib/watobo/gui/define_scope_frame.rb
148
+ - lib/watobo/gui/differ_frame.rb
112
149
  - lib/watobo/gui/edit_comment.rb
113
150
  - lib/watobo/gui/edit_scope_dialog.rb
114
151
  - lib/watobo/gui/findings_tree.rb
115
152
  - lib/watobo/gui/finding_info.rb
116
153
  - lib/watobo/gui/full_scan_dialog.rb
117
154
  - lib/watobo/gui/fuzzer_gui.rb
155
+ - lib/watobo/gui/goto_url_dialog.rb
118
156
  - lib/watobo/gui/hex_viewer.rb
157
+ - lib/watobo/gui/html_viewer.rb
119
158
  - lib/watobo/gui/interceptor_gui.rb
120
159
  - lib/watobo/gui/interceptor_settings_dialog.rb
121
160
  - lib/watobo/gui/intercept_filter_dialog.rb
122
161
  - lib/watobo/gui/list_box.rb
123
162
  - lib/watobo/gui/login_wizzard.rb
163
+ - lib/watobo/gui/log_file_viewer.rb
124
164
  - lib/watobo/gui/log_viewer.rb
125
165
  - lib/watobo/gui/main_window.rb
126
166
  - lib/watobo/gui/manual_request_editor.rb
127
167
  - lib/watobo/gui/master_pw_dialog.rb
128
168
  - lib/watobo/gui/mixins/gui_settings.rb
129
- - lib/watobo/gui/mixins/subscriber.rb
130
169
  - lib/watobo/gui/page_tree.rb
131
170
  - lib/watobo/gui/password_policy_dialog.rb
132
- - lib/watobo/gui/plugin/base.rb
133
171
  - lib/watobo/gui/plugin_board.rb
134
172
  - lib/watobo/gui/preferences_dialog.rb
135
173
  - lib/watobo/gui/progress_window.rb
136
174
  - lib/watobo/gui/project_wizzard.rb
137
175
  - lib/watobo/gui/proxy_dialog.rb
138
176
  - lib/watobo/gui/quick_scan_dialog.rb
177
+ - lib/watobo/gui/request_builder_frame.rb
139
178
  - lib/watobo/gui/request_editor.rb
140
179
  - lib/watobo/gui/rewrite_filters_dialog.rb
141
180
  - lib/watobo/gui/rewrite_rules_dialog.rb
@@ -149,6 +188,7 @@ files:
149
188
  - lib/watobo/gui/tagless_viewer.rb
150
189
  - lib/watobo/gui/templates/plugin.rb
151
190
  - lib/watobo/gui/templates/plugin2.rb
191
+ - lib/watobo/gui/templates/plugin_base.rb
152
192
  - lib/watobo/gui/text_viewer.rb
153
193
  - lib/watobo/gui/transcoder_window.rb
154
194
  - lib/watobo/gui/utils/gui_utils.rb
@@ -165,11 +205,27 @@ files:
165
205
  - lib/watobo/gui/www_auth_dialog.rb
166
206
  - lib/watobo/gui/xml_viewer_frame.rb
167
207
  - lib/watobo/gui.rb
208
+ - lib/watobo/http/cookies/cookies.rb
209
+ - lib/watobo/http/data/data.rb
210
+ - lib/watobo/http/url/url.rb
211
+ - lib/watobo/http_socket/agent.rb
212
+ - lib/watobo/http_socket/client_socket.rb
213
+ - lib/watobo/http_socket/connection.rb
214
+ - lib/watobo/http_socket/http_socket.rb
215
+ - lib/watobo/http_socket/ntlm_auth.rb
216
+ - lib/watobo/http_socket/proxy.rb
217
+ - lib/watobo/http_socket.rb
218
+ - lib/watobo/interceptor/proxy.rb
219
+ - lib/watobo/interceptor/transparent.rb
220
+ - lib/watobo/interceptor.rb
221
+ - lib/watobo/mixins/check_info.rb
168
222
  - lib/watobo/mixins/httpparser.rb
169
223
  - lib/watobo/mixins/request_parser.rb
170
224
  - lib/watobo/mixins/shapers.rb
171
225
  - lib/watobo/mixins/transcoders.rb
172
226
  - lib/watobo/mixins.rb
227
+ - lib/watobo/parser/html.rb
228
+ - lib/watobo/parser.rb
173
229
  - lib/watobo/utils/check_regex.rb
174
230
  - lib/watobo/utils/copy_object.rb
175
231
  - lib/watobo/utils/crypto.rb
@@ -184,6 +240,7 @@ files:
184
240
  - lib/watobo/utils/secure_eval.rb
185
241
  - lib/watobo/utils/strings.rb
186
242
  - lib/watobo/utils/text2request.rb
243
+ - lib/watobo/utils/url.rb
187
244
  - lib/watobo/utils.rb
188
245
  - lib/watobo.rb
189
246
  - config/datastore.yml
@@ -191,17 +248,22 @@ files:
191
248
  - config/general.yml
192
249
  - config/gui.yml
193
250
  - config/interceptor.yml
251
+ - config/ott_cache.yml
194
252
  - config/scanner.yml
195
253
  - config/scan_policy.yml
254
+ - config/sid_cache.yml
196
255
  - modules/active/Apache/mod_status.rb
197
256
  - modules/active/directories/dirwalker.rb
198
257
  - modules/active/discovery/fileextensions.rb
199
258
  - modules/active/discovery/http_methods.rb
200
259
  - modules/active/domino/domino_db.lst
201
260
  - modules/active/domino/domino_db.rb
261
+ - modules/active/dotNET/custom_errors.rb
262
+ - modules/active/dotNET/dotnet_files.rb
202
263
  - modules/active/fileinclusion/lfi_simple.rb
203
264
  - modules/active/Flash/crossdomain.rb
204
265
  - modules/active/jboss/jboss_basic.rb
266
+ - modules/active/RoR/cve_2013_015x.rb
205
267
  - modules/active/sap/its_commands.rb
206
268
  - modules/active/sap/its_services.rb
207
269
  - modules/active/sap/its_service_parameter.rb
@@ -210,8 +272,11 @@ files:
210
272
  - modules/active/sqlinjection/sqli_error.rb
211
273
  - modules/active/sqlinjection/sqli_timing.rb
212
274
  - modules/active/sqlinjection/sql_boolean.rb
213
- - modules/active/xss/xss_rated.rb
275
+ - modules/active/xml/xml_xxe.rb
276
+ - modules/active/xss/xss_ng.rb
214
277
  - modules/active/xss/xss_simple.rb
278
+ - modules/passive/ajax.rb
279
+ - modules/passive/autocomplete.rb
215
280
  - modules/passive/cookie_options.rb
216
281
  - modules/passive/cookie_xss.rb
217
282
  - modules/passive/detect_code.rb
@@ -224,6 +289,7 @@ files:
224
289
  - modules/passive/disclosure_ipaddr.rb
225
290
  - modules/passive/filename_as_parameter.rb
226
291
  - modules/passive/form_spotter.rb
292
+ - modules/passive/hidden_fields.rb
227
293
  - modules/passive/hotspots.rb
228
294
  - modules/passive/in_script_parameter.rb
229
295
  - modules/passive/multiple_server_headers.rb
@@ -269,6 +335,10 @@ files:
269
335
  - plugins/sslchecker/icons/red_16x16.ico
270
336
  - plugins/sslchecker/icons/sslchecker.ico
271
337
  - plugins/sslchecker/lib/check.rb
338
+ - plugins/wshell/gui/main.rb
339
+ - plugins/wshell/icons/wsh.ico
340
+ - plugins/wshell/lib/core.rb
341
+ - plugins/wshell/wshell.rb
272
342
  - icons/Add.ico
273
343
  - icons/Add_24x24.ico
274
344
  - icons/advanced.ico
@@ -279,6 +349,8 @@ files:
279
349
  - icons/applications_24x24.ico
280
350
  - icons/Bandwidth.ico
281
351
  - icons/Bandwidth_24x24.ico
352
+ - icons/BestPractice_16x16.ico
353
+ - icons/BestPractice_24x24.ico
282
354
  - icons/browser_16x16.ico
283
355
  - icons/browser_24x24.ico
284
356
  - icons/burn.ico
@@ -353,8 +425,8 @@ files:
353
425
  - icons/Yellow Ball.ico
354
426
  - icons/Yellow Ball_16x16.ico
355
427
  - icons/Yellow Ball_24x24.ico
356
- - README
357
- - CHANGELOG
428
+ - README.md
429
+ - CHANGELOG.md
358
430
  - .yardopts
359
431
  - bin/watobo_gui.rb
360
432
  - bin/watobo
data/README DELETED
@@ -1,26 +0,0 @@
1
- 
2
- = WATOBO - THE Web Application Toolbox
3
- WATOBO is a security tool for web applications. WATOBO is intended to enable security professionals to perform efficient (semi-automated) web application security audits.
4
-
5
- Most important features:
6
- * WATOBO has Session Management capabilities! You can define login scripts as well as logout signatures. So you don’t have to login manually each time you get logged out.
7
- * WATOB can act as an transparent proxy
8
- * WATOBO has anti-CSRF features
9
- * WATOBO can perform vulnerability checks out of the box.
10
- * WATOBO supports Inline De-/Encoding, so you don’t have to copy strings to a transcoder and back again. Just do it inside the request/response window with a simple mouse click.
11
- * WATOBO has smart filter functions, so you can find and navigate to the most interesting parts of the application easily.
12
- * WATOBO is written in (FX)Ruby and enables you to easiely define your own checks
13
- * WATOBO is free software ( licensed under the GNU General Public License Version 2)
14
- * It’s by siberas ;)
15
-
16
- == Documentation
17
- Check out the online documentation and video tutorials at http://watobo.sourceforge.net
18
-
19
- == Tips & Tricks
20
- * On Linux you should use RVM to install Ruby (http://beginrescueend.com/rvm/install/)
21
- * Use FoxyProxy or SwitchProxy to easily change your proxy settings
22
-
23
-
24
-
25
-
26
-
@@ -1,161 +0,0 @@
1
- # .
2
- # http_socket.rb
3
- #
4
- # Copyright 2012 by siberas, http://www.siberas.de
5
- #
6
- # This file is part of WATOBO (Web Application Tool Box)
7
- # http://watobo.sourceforge.com
8
- #
9
- # WATOBO is free software; you can redistribute it and/or modify
10
- # it under the terms of the GNU General Public License as published by
11
- # the Free Software Foundation version 2 of the License.
12
- #
13
- # WATOBO is distributed in the hope that it will be useful,
14
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- # GNU General Public License for more details.
17
- #
18
- # You should have received a copy of the GNU General Public License
19
- # along with WATOBO; if not, write to the Free Software
20
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
- # .
22
- module Watobo
23
- module HTTP
24
-
25
- def self.get_peer_subject(socket)
26
- begin
27
- ctx = OpenSSL::SSL::SSLContext.new()
28
- ctx.tmp_dh_callback = proc { |*args|
29
- OpenSSL::PKey::DH.new(128)
30
- }
31
- ssl_sock = OpenSSL::SSL::SSLSocket.new(socket, ctx)
32
- subject = ssl_sock.peer_cert.subject
33
- return subject
34
- rescue => bang
35
- puts bang
36
- puts bang.backtrace
37
- end
38
- return nil
39
- end
40
-
41
-
42
- def HTTP.read_body(socket, prefs=nil)
43
- buf = nil
44
- max_bytes = -1
45
- unless prefs.nil?
46
- max_bytes = prefs[:max_bytes] unless prefs[:max_bytes].nil?
47
- end
48
- bytes_to_read = max_bytes >= 0 ? max_bytes : 1024
49
-
50
- bytes_read = 0
51
- while max_bytes < 0 or bytes_to_read > 0
52
- begin
53
- # timeout(5) do
54
- # puts "<#{bytes_to_read} / #{bytes_read} / #{max_bytes}"
55
- buf = socket.readpartial(bytes_to_read)
56
- bytes_read += buf.length
57
- # end
58
- rescue EOFError
59
- return
60
- rescue Timeout::Error
61
- puts "!!! Timeout: read_body (max_bytes=#{max_bytes})"
62
- #puts "* last data seen on socket:"
63
- # puts buf
64
- puts $!.backtrace if $DEBUG
65
- return
66
- rescue => bang
67
- print "E!"
68
- puts bang.backtrace if $DEBUG
69
- return
70
- end
71
- # puts bytes_read.to_s
72
- yield buf if block_given?
73
- return if max_bytes >= 0 and bytes_read >= max_bytes
74
- bytes_to_read -= bytes_read if max_bytes >= 0 && bytes_to_read >= bytes_read
75
- end
76
- # end
77
- end
78
-
79
- def HTTP.readChunkedBody(socket)
80
- buf = nil
81
- while (chunk_size = socket.gets)
82
- next if chunk_size.strip.empty?
83
- yield "#{chunk_size}" if block_given?
84
- bytes_to_read = num_bytes = chunk_size.strip.hex
85
- # puts "> chunk-length: 0x#{chunk_size.strip}(#{num_bytes})"
86
- return if num_bytes == 0
87
- bytes_read = 0
88
- while bytes_read < num_bytes
89
- begin
90
- # timeout(5) do
91
- bytes_to_read = num_bytes - bytes_read
92
- # puts bytes_to_read.to_s
93
- buf = socket.readpartial(bytes_to_read)
94
- bytes_read += buf.length
95
- # puts bytes_read.to_s
96
- # end
97
- rescue EOFError
98
- # yield buf if buf
99
- return
100
- rescue Timeout::Error
101
- puts "!!! Timeout: readChunkedBody (bytes_to_read=#{bytes_to_read}"
102
- #puts "* last data seen on socket:"
103
- # puts buf
104
- return
105
- rescue => bang
106
- # puts "!!! Error (???) reading body:"
107
- # puts bang
108
- # puts bang.class
109
- # puts bang.backtrace.join("\n")
110
- # puts "* last data seen on socket:"
111
- # puts buf
112
- print "E!"
113
- return
114
- end
115
- # puts bytes_read.to_s
116
- yield buf if block_given?
117
- #return if max_bytes > 0 and bytes_read >= max_bytes
118
- end
119
- yield "\r\n" if block_given?
120
- end
121
- # end
122
- end
123
-
124
- def HTTP.read_header(socket)
125
- buf = ''
126
-
127
- while true
128
- begin
129
- buf = socket.gets
130
- rescue EOFError
131
- puts "!!! EOF: reading header"
132
- # buf = nil
133
- return
134
- rescue Errno::ECONNRESET
135
- #puts "!!! CONNECTION RESET: reading header"
136
- #buf = nil
137
- #return
138
- raise
139
- rescue Errno::ECONNABORTED
140
- raise
141
- rescue Timeout::Error
142
- #puts "!!! TIMEOUT: reading header"
143
- #return
144
- raise
145
- rescue => bang
146
- puts "!!! READING HEADER:"
147
- # puts buf
148
- puts bang
149
- puts bang.backtrace if $DEBUG
150
- end
151
-
152
- return if buf.nil?
153
-
154
- yield buf if block_given?
155
- return if buf.strip.empty?
156
- end
157
- end
158
-
159
- end
160
- end
161
-
@@ -1,82 +0,0 @@
1
- # .
2
- # base.rb
3
- #
4
- # Copyright 2012 by siberas, http://www.siberas.de
5
- #
6
- # This file is part of WATOBO (Web Application Tool Box)
7
- # http://watobo.sourceforge.com
8
- #
9
- # WATOBO is free software; you can redistribute it and/or modify
10
- # it under the terms of the GNU General Public License as published by
11
- # the Free Software Foundation version 2 of the License.
12
- #
13
- # WATOBO is distributed in the hope that it will be useful,
14
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- # GNU General Public License for more details.
17
- #
18
- # You should have received a copy of the GNU General Public License
19
- # along with WATOBO; if not, write to the Free Software
20
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
- # .
22
- module Watobo
23
- module Gui
24
- module Plugin
25
- class Plugin_UNUSED < FXDialogBox
26
- attr :plugin_name
27
- attr :icon
28
-
29
- include Watobo::Gui
30
- include Watobo::Gui::Icons
31
- def subscribe(event, &callback)
32
- (@event_dispatcher_listeners[event] ||= []) << callback
33
- end
34
-
35
- def clearEvents(event)
36
- @event_dispatcher_listener[event].clear
37
- end
38
-
39
- def notify(event, *args)
40
- if @event_dispatcher_listeners[event]
41
- @event_dispatcher_listeners[event].each do |m|
42
- m.call(*args) if m.respond_to? :call
43
- end
44
- end
45
- end
46
-
47
- def updateView()
48
- raise "!!! updateView not defined"
49
- end
50
-
51
- def icon=(file=__FILE__)
52
- begin
53
- @icon = ICON_PLUGIN
54
- path = File.dirname(file)
55
- # puts "... searching for icons in #{path}"
56
- file = Dir.glob("#{path}/*.ico").first
57
-
58
- # puts "* load icon: #{file}"
59
- @icon = Watobo::Gui.load_icon(file) unless file.nil?
60
-
61
- self.icon = @icon
62
- rescue => bang
63
- puts "!!!Error: could not init icon"
64
- puts bang
65
- puts bang.backtrace if $DEBUG
66
- end
67
- end
68
-
69
- def initialize(owner, title, project, opts)
70
- super(owner, title, :opts => DECOR_ALL,:width=>800, :height=>600)
71
- # Implement Sender
72
- # Implement Scanner
73
- @icon = nil
74
- # load_icon()
75
- @plugin_name = "undefined"
76
- @event_dispatcher_listeners = Hash.new
77
-
78
- end
79
- end
80
- end
81
- end
82
- end