watobo 0.9.21 → 0.9.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +46 -1
  3. data/bin/nfq_server.rb +0 -9
  4. data/bin/watobo_gui.rb +3 -13
  5. data/custom-views/prettify-json.rb +9 -18
  6. data/icons/watobo.ico +0 -0
  7. data/icons/watobo.ico.old +0 -0
  8. data/lib/watobo.rb +10 -19
  9. data/lib/watobo/adapters.rb +5 -14
  10. data/lib/watobo/adapters/data_store.rb +50 -59
  11. data/lib/watobo/adapters/file/file_store.rb +287 -296
  12. data/lib/watobo/adapters/file/marshal_store.rb +293 -296
  13. data/lib/watobo/adapters/session_store.rb +5 -14
  14. data/lib/watobo/ca.rb +1 -10
  15. data/lib/watobo/config.rb +197 -206
  16. data/lib/watobo/constants.rb +0 -9
  17. data/lib/watobo/core.rb +3 -12
  18. data/lib/watobo/core/active_check.rb +72 -135
  19. data/lib/watobo/core/active_checks.rb +49 -58
  20. data/lib/watobo/core/ca.rb +369 -389
  21. data/lib/watobo/core/cert_store.rb +34 -43
  22. data/lib/watobo/core/chat.rb +92 -101
  23. data/lib/watobo/core/chats.rb +271 -280
  24. data/lib/watobo/core/client_cert_store.rb +106 -35
  25. data/lib/watobo/core/conversation.rb +48 -57
  26. data/lib/watobo/core/cookie.rb +23 -32
  27. data/lib/watobo/core/egress_handlers.rb +98 -0
  28. data/lib/watobo/core/finding.rb +66 -75
  29. data/lib/watobo/core/findings.rb +107 -114
  30. data/lib/watobo/core/forwarding_proxy.rb +13 -22
  31. data/lib/watobo/core/fuzz_gen.rb +0 -9
  32. data/lib/watobo/core/intercept_carver.rb +166 -177
  33. data/lib/watobo/core/intercept_filter.rb +235 -244
  34. data/lib/watobo/core/interceptor.rb +98 -107
  35. data/lib/watobo/core/min_class.rb +4 -13
  36. data/lib/watobo/core/netfilter_queue.rb +170 -179
  37. data/lib/watobo/core/ott_cache.rb +132 -141
  38. data/lib/watobo/core/parameter.rb +43 -52
  39. data/lib/watobo/core/passive_check.rb +103 -102
  40. data/lib/watobo/core/passive_checks.rb +48 -57
  41. data/lib/watobo/core/passive_scanner.rb +54 -55
  42. data/lib/watobo/core/plugin.rb +11 -20
  43. data/lib/watobo/core/project.rb +3 -9
  44. data/lib/watobo/core/proxy.rb +43 -52
  45. data/lib/watobo/core/request.rb +125 -123
  46. data/lib/watobo/core/response.rb +44 -53
  47. data/lib/watobo/core/scanner.rb +0 -9
  48. data/lib/watobo/core/scanner3.rb +405 -414
  49. data/lib/watobo/core/scope.rb +83 -92
  50. data/lib/watobo/core/session.rb +1043 -1026
  51. data/lib/watobo/core/sid_cache.rb +98 -107
  52. data/lib/watobo/core/subscriber.rb +25 -34
  53. data/lib/watobo/defaults.rb +21 -30
  54. data/lib/watobo/external/diff/lcs.rb +0 -9
  55. data/lib/watobo/external/diff/lcs/array.rb +0 -9
  56. data/lib/watobo/external/diff/lcs/block.rb +0 -9
  57. data/lib/watobo/external/diff/lcs/callbacks.rb +0 -9
  58. data/lib/watobo/external/diff/lcs/change.rb +0 -9
  59. data/lib/watobo/external/diff/lcs/hunk.rb +0 -9
  60. data/lib/watobo/external/diff/lcs/ldiff.rb +0 -9
  61. data/lib/watobo/external/diff/lcs/string.rb +0 -9
  62. data/lib/watobo/externals.rb +6 -15
  63. data/lib/watobo/framework.rb +4 -13
  64. data/lib/watobo/framework/create_project.rb +60 -69
  65. data/lib/watobo/framework/init.rb +0 -9
  66. data/lib/watobo/framework/init_modules.rb +0 -9
  67. data/lib/watobo/framework/license_text.rb +28 -37
  68. data/lib/watobo/framework/load_chat.rb +13 -22
  69. data/lib/watobo/gui.rb +132 -123
  70. data/lib/watobo/gui/about_watobo.rb +0 -9
  71. data/lib/watobo/gui/browser_preview.rb +0 -9
  72. data/lib/watobo/gui/certificate_dialog.rb +0 -9
  73. data/lib/watobo/gui/chat_diff.rb +0 -9
  74. data/lib/watobo/gui/chatviewer_frame.rb +73 -72
  75. data/lib/watobo/gui/checkboxtree.rb +0 -9
  76. data/lib/watobo/gui/checks_policy_frame.rb +0 -9
  77. data/lib/watobo/gui/client_cert_dialog.rb +96 -87
  78. data/lib/watobo/gui/confirm_scan_dialog.rb +0 -9
  79. data/lib/watobo/gui/conversation_table.rb +158 -164
  80. data/lib/watobo/gui/conversation_table_ctrl.rb +207 -216
  81. data/lib/watobo/gui/conversation_table_ctrl2.rb +373 -382
  82. data/lib/watobo/gui/csrf_token_dialog.rb +0 -9
  83. data/lib/watobo/gui/custom_viewer.rb +374 -383
  84. data/lib/watobo/gui/dashboard.rb +296 -303
  85. data/lib/watobo/gui/define_scope_frame.rb +0 -9
  86. data/lib/watobo/gui/differ_frame.rb +215 -224
  87. data/lib/watobo/gui/edit_comment.rb +0 -9
  88. data/lib/watobo/gui/edit_scope_dialog.rb +0 -9
  89. data/lib/watobo/gui/export_dialog.rb +104 -113
  90. data/lib/watobo/gui/finding_info.rb +0 -9
  91. data/lib/watobo/gui/findings_tree.rb +210 -217
  92. data/lib/watobo/gui/full_scan_dialog.rb +0 -9
  93. data/lib/watobo/gui/fuzzer_gui.rb +1295 -1313
  94. data/lib/watobo/gui/fxsave_thread.rb +14 -0
  95. data/lib/watobo/gui/goto_url_dialog.rb +70 -79
  96. data/lib/watobo/gui/hex_viewer.rb +0 -9
  97. data/lib/watobo/gui/html_viewer.rb +287 -296
  98. data/lib/watobo/gui/intercept_filter_dialog.rb +188 -197
  99. data/lib/watobo/gui/interceptor_gui.rb +1041 -1051
  100. data/lib/watobo/gui/interceptor_settings_dialog.rb +0 -9
  101. data/lib/watobo/gui/json_viewer.rb +287 -0
  102. data/lib/watobo/gui/list_box.rb +101 -110
  103. data/lib/watobo/gui/log_file_viewer.rb +32 -41
  104. data/lib/watobo/gui/log_viewer.rb +83 -88
  105. data/lib/watobo/gui/login_wizzard.rb +0 -9
  106. data/lib/watobo/gui/main_window.rb +587 -618
  107. data/lib/watobo/gui/manual_request_editor.rb +620 -565
  108. data/lib/watobo/gui/master_pw_dialog.rb +0 -9
  109. data/lib/watobo/gui/mixins/gui_settings.rb +29 -38
  110. data/lib/watobo/gui/page_tree.rb +217 -226
  111. data/lib/watobo/gui/password_policy_dialog.rb +0 -9
  112. data/lib/watobo/gui/plugin_board.rb +0 -9
  113. data/lib/watobo/gui/preferences_dialog.rb +0 -9
  114. data/lib/watobo/gui/progress_window.rb +17 -27
  115. data/lib/watobo/gui/project_wizzard.rb +0 -9
  116. data/lib/watobo/gui/proxy_dialog.rb +1 -10
  117. data/lib/watobo/gui/quick_scan_dialog.rb +0 -9
  118. data/lib/watobo/gui/request_builder_frame.rb +102 -111
  119. data/lib/watobo/gui/request_editor.rb +181 -137
  120. data/lib/watobo/gui/rewrite_filters_dialog.rb +394 -403
  121. data/lib/watobo/gui/rewrite_rules_dialog.rb +372 -381
  122. data/lib/watobo/gui/save_chat_dialog.rb +140 -149
  123. data/lib/watobo/gui/scanner_settings_dialog.rb +0 -9
  124. data/lib/watobo/gui/select_chat_dialog.rb +0 -9
  125. data/lib/watobo/gui/session_management_dialog.rb +0 -9
  126. data/lib/watobo/gui/sites_tree.rb +0 -9
  127. data/lib/watobo/gui/status_bar.rb +0 -9
  128. data/lib/watobo/gui/table_editor.rb +0 -9
  129. data/lib/watobo/gui/tagless_viewer.rb +0 -9
  130. data/lib/watobo/gui/templates/plugin.rb +0 -9
  131. data/lib/watobo/gui/templates/plugin2.rb +92 -100
  132. data/lib/watobo/gui/templates/plugin_base.rb +144 -153
  133. data/lib/watobo/gui/text_viewer.rb +0 -9
  134. data/lib/watobo/gui/transcoder_window.rb +0 -9
  135. data/lib/watobo/gui/utils/gui_utils.rb +0 -9
  136. data/lib/watobo/gui/utils/init_icons.rb +86 -95
  137. data/lib/watobo/gui/utils/load_icons.rb +33 -42
  138. data/lib/watobo/gui/utils/load_plugins.rb +116 -119
  139. data/lib/watobo/gui/utils/master_password.rb +68 -77
  140. data/lib/watobo/gui/utils/save_default_settings.rb +113 -122
  141. data/lib/watobo/gui/utils/save_project_settings.rb +0 -9
  142. data/lib/watobo/gui/utils/save_proxy_settings.rb +41 -50
  143. data/lib/watobo/gui/utils/save_scanner_settings.rb +18 -27
  144. data/lib/watobo/gui/utils/session_history.rb +112 -121
  145. data/lib/watobo/gui/workspace_dialog.rb +0 -9
  146. data/lib/watobo/gui/www_auth_dialog.rb +0 -9
  147. data/lib/watobo/gui/xml_viewer_frame.rb +0 -9
  148. data/lib/watobo/http.rb +4 -13
  149. data/lib/watobo/http/cookies/cookies.rb +26 -35
  150. data/lib/watobo/http/data/data.rb +45 -54
  151. data/lib/watobo/http/data/json.rb +47 -55
  152. data/lib/watobo/http/url/url.rb +38 -47
  153. data/lib/watobo/http/xml/xml.rb +124 -130
  154. data/lib/watobo/interceptor.rb +3 -12
  155. data/lib/watobo/interceptor/proxy.rb +742 -739
  156. data/lib/watobo/interceptor/transparent.rb +22 -24
  157. data/lib/watobo/mixins.rb +10 -19
  158. data/lib/watobo/mixins/check_info.rb +27 -36
  159. data/lib/watobo/mixins/httpparser.rb +613 -637
  160. data/lib/watobo/mixins/request_parser.rb +88 -97
  161. data/lib/watobo/mixins/shapers.rb +515 -529
  162. data/lib/watobo/mixins/transcoders.rb +3 -11
  163. data/lib/watobo/parser.rb +1 -10
  164. data/lib/watobo/parser/html.rb +83 -92
  165. data/lib/watobo/patch_fxruby_setfocus.rb +26 -0
  166. data/lib/watobo/sockets.rb +3 -12
  167. data/lib/watobo/sockets/agent.rb +828 -837
  168. data/lib/watobo/sockets/client_socket.rb +308 -312
  169. data/lib/watobo/sockets/connection.rb +401 -410
  170. data/lib/watobo/sockets/http_socket.rb +11 -13
  171. data/lib/watobo/sockets/ntlm_auth.rb +129 -138
  172. data/lib/watobo/utils.rb +10 -19
  173. data/lib/watobo/utils/check_regex.rb +0 -9
  174. data/lib/watobo/utils/copy_object.rb +0 -9
  175. data/lib/watobo/utils/crypto.rb +0 -9
  176. data/lib/watobo/utils/expand_range.rb +23 -32
  177. data/lib/watobo/utils/export_xml.rb +97 -106
  178. data/lib/watobo/utils/file_management.rb +9 -11
  179. data/lib/watobo/utils/hexprint.rb +9 -18
  180. data/lib/watobo/utils/load_chat.rb +0 -9
  181. data/lib/watobo/utils/load_icon.rb +0 -9
  182. data/lib/watobo/utils/ntlm.rb +866 -875
  183. data/lib/watobo/utils/print_debug.rb +12 -21
  184. data/lib/watobo/utils/response_builder.rb +90 -99
  185. data/lib/watobo/utils/response_hash.rb +0 -9
  186. data/lib/watobo/utils/secure_eval.rb +0 -9
  187. data/lib/watobo/utils/strings.rb +10 -19
  188. data/lib/watobo/utils/text2request.rb +0 -9
  189. data/lib/watobo/utils/url.rb +23 -32
  190. data/lib/watobo/utils/utf16.rb +11 -20
  191. data/modules/active/Apache/mod_status.rb +0 -9
  192. data/modules/active/Apache/multiview.rb +151 -160
  193. data/modules/active/Flash/crossdomain.rb +0 -9
  194. data/modules/active/JWT/jwt_oauth2_none.rb +111 -0
  195. data/modules/active/cq5/cq5_default_selectors.rb +106 -115
  196. data/modules/active/cq5/cqp_user_enumeration.rb +125 -134
  197. data/modules/active/directories/dirwalker.rb +0 -9
  198. data/modules/active/discovery/fileextensions.rb +0 -9
  199. data/modules/active/discovery/http_methods.rb +0 -9
  200. data/modules/active/discovery/jsmapfiles.rb +79 -0
  201. data/modules/active/domino/domino_db.rb +68 -76
  202. data/modules/active/dotNET/custom_errors.rb +102 -111
  203. data/modules/active/dotNET/dotnet_files.rb +90 -99
  204. data/modules/active/fileinclusion/lfi_simple.rb +0 -9
  205. data/modules/active/jboss/jboss_basic.rb +0 -9
  206. data/modules/active/sap/business_objects.rb +51 -60
  207. data/modules/active/sap/its_commands.rb +0 -9
  208. data/modules/active/sap/its_service_parameter.rb +0 -9
  209. data/modules/active/sap/its_services.rb +0 -9
  210. data/modules/active/sap/its_xss.rb +0 -9
  211. data/modules/active/shell_shock/shell_shock.rb +139 -148
  212. data/modules/active/siebel/siebel_apps.rb +160 -169
  213. data/modules/active/sqlinjection/sql_boolean.rb +0 -9
  214. data/modules/active/sqlinjection/sql_numerical.rb +198 -0
  215. data/modules/active/sqlinjection/sqli_error.rb +0 -9
  216. data/modules/active/sqlinjection/sqli_timing.rb +220 -229
  217. data/modules/active/struts2/default_handler_ognl.rb +106 -115
  218. data/modules/active/struts2/include_params_ognl.rb +105 -114
  219. data/modules/active/xml/xml_xxe.rb +112 -123
  220. data/modules/active/xss/xss_ng.rb +214 -223
  221. data/modules/active/xss/xss_simple.rb +0 -9
  222. data/modules/passive/ajax.rb +68 -77
  223. data/modules/passive/autocomplete.rb +56 -65
  224. data/modules/passive/cookie_options.rb +0 -9
  225. data/modules/passive/cookie_xss.rb +0 -9
  226. data/modules/passive/detect_code.rb +0 -9
  227. data/modules/passive/detect_fileupload.rb +0 -9
  228. data/modules/passive/detect_infrastructure.rb +0 -9
  229. data/modules/passive/detect_one_time_tokens.rb +0 -9
  230. data/modules/passive/dirindexing.rb +0 -9
  231. data/modules/passive/disclosure_domino.rb +55 -64
  232. data/modules/passive/disclosure_emails.rb +0 -9
  233. data/modules/passive/disclosure_ipaddr.rb +55 -53
  234. data/modules/passive/filename_as_parameter.rb +0 -9
  235. data/modules/passive/form_spotter.rb +0 -9
  236. data/modules/passive/hidden_fields.rb +50 -59
  237. data/modules/passive/hotspots.rb +0 -9
  238. data/modules/passive/in_script_parameter.rb +0 -9
  239. data/modules/passive/json_web_token.rb +93 -0
  240. data/modules/passive/multiple_server_headers.rb +0 -9
  241. data/modules/passive/possible_login.rb +0 -9
  242. data/modules/passive/redirect_url.rb +0 -9
  243. data/modules/passive/redirectionz.rb +0 -9
  244. data/modules/passive/sap-headers.rb +56 -65
  245. data/modules/passive/xss_dom.rb +0 -9
  246. data/plugins/aem/aem.rb +11 -20
  247. data/plugins/aem/gui/main.rb +118 -127
  248. data/plugins/aem/gui/tree_view.rb +171 -180
  249. data/plugins/aem/lib/agent.rb +130 -138
  250. data/plugins/aem/lib/dispatcher.rb +45 -51
  251. data/plugins/aem/lib/engine.rb +177 -186
  252. data/plugins/catalog/catalog.rb +345 -355
  253. data/plugins/crawler/crawler.rb +4 -13
  254. data/plugins/crawler/gui.rb +5 -14
  255. data/plugins/crawler/gui/auth_frame.rb +270 -279
  256. data/plugins/crawler/gui/crawler_gui.rb +271 -276
  257. data/plugins/crawler/gui/general_settings_frame.rb +96 -105
  258. data/plugins/crawler/gui/hooks_frame.rb +80 -89
  259. data/plugins/crawler/gui/scope_frame.rb +50 -59
  260. data/plugins/crawler/gui/settings_tabbook.rb +38 -47
  261. data/plugins/crawler/gui/status_frame.rb +59 -68
  262. data/plugins/crawler/lib/bags.rb +18 -27
  263. data/plugins/crawler/lib/constants.rb +11 -20
  264. data/plugins/crawler/lib/engine.rb +488 -497
  265. data/plugins/crawler/lib/grabber.rb +68 -77
  266. data/plugins/crawler/lib/status.rb +71 -80
  267. data/plugins/crawler/lib/uri_mp.rb +12 -21
  268. data/plugins/filefinder/filefinder.rb +326 -333
  269. data/plugins/sqlmap/bin/test.rb +78 -87
  270. data/plugins/sqlmap/gui.rb +4 -13
  271. data/plugins/sqlmap/gui/main.rb +218 -227
  272. data/plugins/sqlmap/gui/options_frame.rb +97 -106
  273. data/plugins/sqlmap/lib/sqlmap_ctrl.rb +90 -100
  274. data/plugins/sqlmap/sqlmap.rb +2 -11
  275. data/plugins/sslchecker/cli/sslchecker_cli.rb +0 -9
  276. data/plugins/sslchecker/gui/cipher_table.rb +246 -254
  277. data/plugins/sslchecker/gui/gui.rb +258 -264
  278. data/plugins/sslchecker/gui/sslchecker.rb +4 -13
  279. data/plugins/sslchecker/lib/check.rb +127 -133
  280. data/plugins/wshell/gui/main.rb +119 -117
  281. data/plugins/wshell/lib/core.rb +38 -88
  282. data/plugins/wshell/wshell.rb +11 -20
  283. metadata +170 -164
@@ -1,14 +1,5 @@
1
- #.
2
- # framework.rb
3
- #.
4
- # Copyright 2014 by siberas, http://www.siberas.de
5
- # This file is part of WATOBO (Web Application Tool Box) http://watobo.sourceforge.com
6
- # WATOBO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.
7
- # WATOBO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
- # You should have received a copy of the GNU General Public License along with WATOBO; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1
+ %w( init init_modules create_project license_text load_chat ).each do |lib|
2
+ require File.join( "watobo", "framework", lib)
3
+ end
4
+
9
5
 
10
- %w( init init_modules create_project license_text load_chat ).each do |lib|
11
- require File.join( "watobo", "framework", lib)
12
- end
13
-
14
-
@@ -1,75 +1,66 @@
1
- #.
2
- # create_project.rb
3
- #.
4
- # Copyright 2014 by siberas, http://www.siberas.de
5
- # This file is part of WATOBO (Web Application Tool Box) http://watobo.sourceforge.com
6
- # WATOBO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.
7
- # WATOBO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
- # You should have received a copy of the GNU General Public License along with WATOBO; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
9
-
10
1
  # @private
11
- module Watobo#:nodoc: all
12
- @project_name = ''
13
- @session_name = ''
14
- @project = nil
15
-
16
- def self.project_name
17
- @project_name
18
- end
19
-
20
- def self.session_name
21
- @session_name
22
- end
23
-
24
- def self.project
25
- @project
26
- end
27
-
28
- # create_project is a wrapper function to create a new project
29
- # you can either create a project by giving a URL (:url),
30
- # or by giving a :project_name AND a :session_name
31
- def self.create_project(prefs={})
32
- project_settings = Hash.new
33
- # project_settings.update @settings
34
-
35
- if prefs.has_key? :url
36
- #TODO: create project_settings from url
37
- else
38
- project_settings[:project_name] = prefs[:project_name]
39
- project_settings[:session_name] = prefs[:session_name]
40
- end
41
-
42
- Watobo::DataStore.connect(project_settings[:project_name], project_settings[:session_name])
43
- @project_name = project_settings[:project_name]
44
- @session_name = project_settings[:session_name]
45
-
46
- # updating settings
47
- Watobo::Conf.load_project_settings()
48
- Watobo::Conf.load_session_settings()
49
-
50
- #project_settings[:session_store] = ds
51
-
52
- puts "* INIT PASSIVE MODULES"
2
+ module Watobo#:nodoc: all
3
+ @project_name = ''
4
+ @session_name = ''
5
+ @project = nil
6
+
7
+ def self.project_name
8
+ @project_name
9
+ end
10
+
11
+ def self.session_name
12
+ @session_name
13
+ end
14
+
15
+ def self.project
16
+ @project
17
+ end
18
+
19
+ # create_project is a wrapper function to create a new project
20
+ # you can either create a project by giving a URL (:url),
21
+ # or by giving a :project_name AND a :session_name
22
+ def self.create_project(prefs={})
23
+ project_settings = Hash.new
24
+ # project_settings.update @settings
25
+
26
+ if prefs.has_key? :url
27
+ #TODO: create project_settings from url
28
+ else
29
+ project_settings[:project_name] = prefs[:project_name]
30
+ project_settings[:session_name] = prefs[:session_name]
31
+ end
32
+
33
+ Watobo::DataStore.connect(project_settings[:project_name], project_settings[:session_name])
34
+ @project_name = project_settings[:project_name]
35
+ @session_name = project_settings[:session_name]
36
+
37
+ # updating settings
38
+ Watobo::Conf.load_project_settings()
39
+ Watobo::Conf.load_session_settings()
40
+
41
+ #project_settings[:session_store] = ds
42
+
43
+ puts "* INIT PASSIVE MODULES"
53
44
  Watobo::PassiveModules.init
54
45
  puts
55
- puts "Total: " + Watobo::PassiveModules.length.to_s
56
- # project_settings[:passive_checks] = init_passive_modules
57
- #puts "Total: " + project_settings[:passive_checks].length.to_s
58
- #puts
59
- puts "* INIT ACTIVE MODULES"
60
- #project_settings[:active_checks] = init_active_modules
61
- Watobo::ActiveModules.init
62
- # project_settings[:active_checks].each do |ac|
63
- # puts ac.class
46
+ puts "Total: " + Watobo::PassiveModules.length.to_s
47
+ # project_settings[:passive_checks] = init_passive_modules
48
+ #puts "Total: " + project_settings[:passive_checks].length.to_s
49
+ #puts
50
+ puts "* INIT ACTIVE MODULES"
51
+ #project_settings[:active_checks] = init_active_modules
52
+ Watobo::ActiveModules.init
53
+ # project_settings[:active_checks].each do |ac|
54
+ # puts ac.class
64
55
  # end
65
- puts
56
+ puts
66
57
  puts "Total: " + Watobo::ActiveModules.length.to_s
67
- puts
68
-
69
- project = Project.new(project_settings)
70
- #@running_projects << project
71
- @project = project
72
-
73
- end
74
-
58
+ puts
59
+
60
+ project = Project.new(project_settings)
61
+ #@running_projects << project
62
+ @project = project
63
+
64
+ end
65
+
75
66
  end
@@ -1,12 +1,3 @@
1
- #.
2
- # init.rb
3
- #.
4
- # Copyright 2014 by siberas, http://www.siberas.de
5
- # This file is part of WATOBO (Web Application Tool Box) http://watobo.sourceforge.com
6
- # WATOBO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.
7
- # WATOBO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
- # You should have received a copy of the GNU General Public License along with WATOBO; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
9
-
10
1
  # @private
11
2
  module Watobo#:nodoc: all
12
3
 
@@ -1,12 +1,3 @@
1
- #.
2
- # init_modules.rb
3
- #.
4
- # Copyright 2014 by siberas, http://www.siberas.de
5
- # This file is part of WATOBO (Web Application Tool Box) http://watobo.sourceforge.com
6
- # WATOBO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.
7
- # WATOBO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
- # You should have received a copy of the GNU General Public License along with WATOBO; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
9
-
10
1
  # @private
11
2
  module Watobo#:nodoc: all
12
3
 
@@ -1,39 +1,30 @@
1
- #.
2
- # license_text.rb
3
- #.
4
- # Copyright 2014 by siberas, http://www.siberas.de
5
- # This file is part of WATOBO (Web Application Tool Box) http://watobo.sourceforge.com
6
- # WATOBO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.
7
- # WATOBO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
- # You should have received a copy of the GNU General Public License along with WATOBO; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
9
-
10
1
  # @private
11
- module Watobo#:nodoc: all
12
-
13
- LICENSE =<<'EOF'
14
- Copyright 2011 by siberas, http://www.siberas.de
15
-
16
- Disclaimer: You should only use WATOBO to perform
17
- vulnerability audits of your own web applications or
18
- those you are authorized to do so. siberas takes no
19
- responsibility if you use it for unlawful purposes.
20
-
21
- WATOBO is free software; you can redistribute it and/or
22
- modify it under the terms of the GNU General Public
23
- License as published by the Free Software Foundation
24
- version 2 of the License.
25
-
26
- WATOBO is distributed in the hope that it will be useful,
27
- but WITHOUT ANY WARRANTY; without even the implied
28
- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
29
- PURPOSE. See the GNU General Public License for more
30
- details.
31
-
32
- You should have received a copy of the GNU
33
- General Public License along with WATOBO; if not,
34
- write to the Free Software Foundation, Inc., 51
35
- Franklin St, Fifth Floor, Boston, MA 02110-1301
36
- USA
37
- EOF
38
-
2
+ module Watobo#:nodoc: all
3
+
4
+ LICENSE =<<'EOF'
5
+ Copyright 2011 by siberas, http://www.siberas.de
6
+
7
+ Disclaimer: You should only use WATOBO to perform
8
+ vulnerability audits of your own web applications or
9
+ those you are authorized to do so. siberas takes no
10
+ responsibility if you use it for unlawful purposes.
11
+
12
+ WATOBO is free software; you can redistribute it and/or
13
+ modify it under the terms of the GNU General Public
14
+ License as published by the Free Software Foundation
15
+ version 2 of the License.
16
+
17
+ WATOBO is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied
19
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
20
+ PURPOSE. See the GNU General Public License for more
21
+ details.
22
+
23
+ You should have received a copy of the GNU
24
+ General Public License along with WATOBO; if not,
25
+ write to the Free Software Foundation, Inc., 51
26
+ Franklin St, Fifth Floor, Boston, MA 02110-1301
27
+ USA
28
+ EOF
29
+
39
30
  end
@@ -1,24 +1,15 @@
1
- #.
2
- # load_chat.rb
3
- #.
4
- # Copyright 2014 by siberas, http://www.siberas.de
5
- # This file is part of WATOBO (Web Application Tool Box) http://watobo.sourceforge.com
6
- # WATOBO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.
7
- # WATOBO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
- # You should have received a copy of the GNU General Public License along with WATOBO; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
9
-
10
1
  # @private
11
- module Watobo#:nodoc: all
12
- def self.load_chat(project, session, chat_id)
13
- path = File.join Watobo.workspace_path, project.to_s, session.to_s, Watobo::Conf::Datastore.conversations
14
- unless File.exist? path
15
- puts "Could not find conversation path for #{project}/#{session} in #{Watobo.workspace_path}"
16
- return nil
17
- end
18
- chat_file = "#{chat_id}-chat.yml"
19
- chat = Watobo::Utils.loadChatYAML File.join(path, chat_file)
20
- puts chat.class
21
- chat
22
-
23
- end
2
+ module Watobo#:nodoc: all
3
+ def self.load_chat(project, session, chat_id)
4
+ path = File.join Watobo.workspace_path, project.to_s, session.to_s, Watobo::Conf::Datastore.conversations
5
+ unless File.exist? path
6
+ puts "Could not find conversation path for #{project}/#{session} in #{Watobo.workspace_path}"
7
+ return nil
8
+ end
9
+ chat_file = "#{chat_id}-chat.yml"
10
+ chat = Watobo::Utils.loadChatYAML File.join(path, chat_file)
11
+ puts chat.class
12
+ chat
13
+
14
+ end
24
15
  end
@@ -1,124 +1,133 @@
1
- #.
2
- # gui.rb
3
- #.
4
- # Copyright 2014 by siberas, http://www.siberas.de
5
- # This file is part of WATOBO (Web Application Tool Box) http://watobo.sourceforge.com
6
- # WATOBO is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.
7
- # WATOBO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
8
- # You should have received a copy of the GNU General Public License along with WATOBO; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
9
-
10
- begin
11
- print "\nLoading FXRuby ... this may take some time ... "
12
- require 'fox16'
13
- require 'fox16/colors'
14
- print "[OK]\n"
15
- rescue LoadError
16
- print "[FAILED]\n"
17
- puts "!!! Seems like FXRuby is not installed !!!"
18
- puts "please check the installation tutorial at http://watobo.sourceforge.net"
19
- exit
20
- end
21
-
22
- if RUBY_PLATFORM =~ /(linux|bsd|solaris|hpux|darwin)/i then
23
- begin
24
- require 'selenium-webdriver'
25
- rescue LoadError
26
- puts "To use the Preview-Featur of WATOBO on your platform (#{RUBY_PLATFORM}) you first must install the 'selenium-webdriver' gem."
27
- puts "Simply enter the command 'gem install selenium-webdriver'"
28
- puts "Press a key to continue or CTRL-C to abort."
29
- gets
30
- end
31
- end
32
-
33
-
34
- include Fox
35
-
1
+ begin
2
+ print "\nLoading FXRuby ... this may take some time ... "
3
+ require 'fox16'
4
+ require 'fox16/colors'
5
+ require 'watobo/patch_fxruby_setfocus'
6
+ print "[OK]\n"
7
+ rescue LoadError => bang
8
+ puts bang
9
+ puts bang.backtrace
10
+ print "[FAILED]\n"
11
+ puts "!!! Seems like FXRuby is not installed !!!"
12
+ puts "please check the installation tutorial at http://watobo.sourceforge.net"
13
+ exit
14
+ end
15
+
16
+ if RUBY_PLATFORM =~ /(linux|bsd|solaris|hpux|darwin)/i then
17
+ begin
18
+ require 'selenium-webdriver'
19
+ rescue LoadError
20
+ puts "To use the Preview-Feature of WATOBO on your platform (#{RUBY_PLATFORM}) you first must install the 'selenium-webdriver' gem."
21
+ puts "Simply enter the command 'gem install selenium-webdriver'"
22
+ puts "Press a key to continue or CTRL-C to abort."
23
+ gets
24
+ end
25
+ end
26
+
27
+
28
+ include Fox
29
+
36
30
  # @private
37
- module Watobo#:nodoc: all
38
- module Gui
39
- @application = nil
40
- @icon_path = File.expand_path(File.join(File.dirname(__FILE__),"..","..","icons"))
41
-
42
- @project = nil
43
- def self.history
44
- unless defined? @history
45
- hf = Watobo::Conf::Gui.history_file
46
- wd = Watobo.working_directory
47
-
48
- history_file = File.join(wd , hf)
49
- @history = SessionHistory.new(history_file)
50
- end
51
- @history
52
- end
53
-
54
- def self.start
55
- # create_application
56
- @main_window = Watobo::Gui::MainWindow.new(@application)
57
- FXToolTip.new(@application)
58
-
59
- @application.create
60
- @application.threadsEnabled = true
61
-
62
- Thread.abort_on_exception = true
63
-
64
- @history = Gui.history
65
-
66
- check_first_run()
67
-
68
- @application.run
69
-
70
- end
71
-
72
- def self.create_application
73
- @application = FXApp.new("Watobo", "The Webapplication Toolbox")
74
- end
75
-
76
- def self.application
77
- @application
78
- end
79
-
80
- def self.project
81
- @project
82
- end
83
-
84
- def self.project=(project)
85
- @project = project
86
- end
87
-
88
- def self.check_first_run
89
- # file = File.join(File.expand_path(File.dirname(__FILE__)), "..", "..", "disclaimer.chk")
90
- file = File.join(Watobo.working_directory, "disclaimer.chk")
91
- unless File.exists?(file)
92
- first_start_info = Watobo::Gui::AboutWatobo.new(@main_window)
93
- if first_start_info.execute != 0 then
94
- File.new(file, "w")
95
- else
96
- exit
97
- end
98
- end
99
- end
100
- end
101
- end
102
-
103
- %w( load_icons gui_utils load_plugins session_history save_default_settings master_password session_history save_project_settings save_proxy_settings save_scanner_settings ).each do |l|
104
- require File.join("watobo","gui","utils", l)
105
- end
106
-
107
-
108
- Watobo::Gui.create_application
109
-
110
- require 'watobo/gui/utils/init_icons'
111
- #require 'watobo/gui/mixins/subscriber'
112
- require 'watobo/gui/mixins/gui_settings'
113
-
114
- gui_path = File.expand_path(File.join(File.dirname(__FILE__), "gui"))
115
-
116
- Dir.glob("#{gui_path}/*.rb").each do |cf|
117
- next if File.basename(cf) == 'main_window.rb' # skip main_window here, because it must be loaded last
118
- require File.join("watobo","gui", File.basename(cf))
119
- end
120
-
121
- require 'watobo/gui/templates/plugin'
122
- require 'watobo/gui/templates/plugin2'
123
- require 'watobo/gui/templates/plugin_base'
124
- require 'watobo/gui/main_window'
31
+ module Watobo#:nodoc: all
32
+ module Gui
33
+ @application = nil
34
+ @icon_path = File.expand_path(File.join(File.dirname(__FILE__),"..","..","icons"))
35
+
36
+ @project = nil
37
+ def self.history
38
+ unless defined? @history
39
+ hf = Watobo::Conf::Gui.history_file
40
+ wd = Watobo.working_directory
41
+
42
+ history_file = File.join(wd , hf)
43
+ @history = SessionHistory.new(history_file)
44
+ end
45
+ @history
46
+ end
47
+
48
+ def self.info
49
+ i = []
50
+ i << "Ruby Version: " + RUBY_VERSION
51
+ i << "Ruby Platform: " + RUBY_PLATFORM
52
+ i << "FXRuby Version: " + Fox.fxrubyversion
53
+ i << "Fox Version: " + Fox.fxversion
54
+ i << "Watobo Version: " + Watobo.version
55
+ #i << "Working Directory: " + Watobo.working_directory
56
+ #i << "Active Checks Location: " + Watobo.active_module_path
57
+ #i << "Passive Checks Location: " + Watobo.passive_module_path
58
+ i.join("\n")
59
+ end
60
+
61
+
62
+ def self.start
63
+ # create_application
64
+ @main_window = Watobo::Gui::MainWindow.new(@application)
65
+ FXToolTip.new(@application)
66
+
67
+ @application.create
68
+ @application.threadsEnabled = true
69
+
70
+ Thread.abort_on_exception = true
71
+
72
+ @history = Gui.history
73
+
74
+ check_first_run()
75
+
76
+ @application.run
77
+
78
+ end
79
+
80
+ def self.create_application
81
+ @application = FXApp.new("Watobo", "The Webapplication Toolbox")
82
+ end
83
+
84
+ def self.application
85
+ @application
86
+ end
87
+
88
+ def self.project
89
+ @project
90
+ end
91
+
92
+ def self.project=(project)
93
+ @project = project
94
+ end
95
+
96
+ def self.check_first_run
97
+ # file = File.join(File.expand_path(File.dirname(__FILE__)), "..", "..", "disclaimer.chk")
98
+ file = File.join(Watobo.working_directory, "disclaimer.chk")
99
+ unless File.exists?(file)
100
+ first_start_info = Watobo::Gui::AboutWatobo.new(@main_window)
101
+ if first_start_info.execute != 0 then
102
+ File.new(file, "w")
103
+ else
104
+ exit
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
110
+
111
+ %w( load_icons gui_utils load_plugins session_history save_default_settings master_password session_history save_project_settings save_proxy_settings save_scanner_settings ).each do |l|
112
+ require File.join("watobo","gui","utils", l)
113
+ end
114
+
115
+
116
+ Watobo::Gui.create_application
117
+
118
+ require 'watobo/gui/utils/init_icons'
119
+ #require 'watobo/gui/mixins/subscriber'
120
+ require 'watobo/gui/mixins/gui_settings'
121
+ require 'watobo/gui/fxsave_thread'
122
+
123
+ gui_path = File.expand_path(File.join(File.dirname(__FILE__), "gui"))
124
+
125
+ Dir.glob("#{gui_path}/*.rb").each do |cf|
126
+ next if File.basename(cf) == 'main_window.rb' # skip main_window here, because it must be loaded last
127
+ require File.join("watobo","gui", File.basename(cf))
128
+ end
129
+
130
+ require 'watobo/gui/templates/plugin'
131
+ require 'watobo/gui/templates/plugin2'
132
+ require 'watobo/gui/templates/plugin_base'
133
+ require 'watobo/gui/main_window'