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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +46 -1
- data/bin/nfq_server.rb +0 -9
- data/bin/watobo_gui.rb +3 -13
- data/custom-views/prettify-json.rb +9 -18
- data/icons/watobo.ico +0 -0
- data/icons/watobo.ico.old +0 -0
- data/lib/watobo.rb +10 -19
- data/lib/watobo/adapters.rb +5 -14
- data/lib/watobo/adapters/data_store.rb +50 -59
- data/lib/watobo/adapters/file/file_store.rb +287 -296
- data/lib/watobo/adapters/file/marshal_store.rb +293 -296
- data/lib/watobo/adapters/session_store.rb +5 -14
- data/lib/watobo/ca.rb +1 -10
- data/lib/watobo/config.rb +197 -206
- data/lib/watobo/constants.rb +0 -9
- data/lib/watobo/core.rb +3 -12
- data/lib/watobo/core/active_check.rb +72 -135
- data/lib/watobo/core/active_checks.rb +49 -58
- data/lib/watobo/core/ca.rb +369 -389
- data/lib/watobo/core/cert_store.rb +34 -43
- data/lib/watobo/core/chat.rb +92 -101
- data/lib/watobo/core/chats.rb +271 -280
- data/lib/watobo/core/client_cert_store.rb +106 -35
- data/lib/watobo/core/conversation.rb +48 -57
- data/lib/watobo/core/cookie.rb +23 -32
- data/lib/watobo/core/egress_handlers.rb +98 -0
- data/lib/watobo/core/finding.rb +66 -75
- data/lib/watobo/core/findings.rb +107 -114
- data/lib/watobo/core/forwarding_proxy.rb +13 -22
- data/lib/watobo/core/fuzz_gen.rb +0 -9
- data/lib/watobo/core/intercept_carver.rb +166 -177
- data/lib/watobo/core/intercept_filter.rb +235 -244
- data/lib/watobo/core/interceptor.rb +98 -107
- data/lib/watobo/core/min_class.rb +4 -13
- data/lib/watobo/core/netfilter_queue.rb +170 -179
- data/lib/watobo/core/ott_cache.rb +132 -141
- data/lib/watobo/core/parameter.rb +43 -52
- data/lib/watobo/core/passive_check.rb +103 -102
- data/lib/watobo/core/passive_checks.rb +48 -57
- data/lib/watobo/core/passive_scanner.rb +54 -55
- data/lib/watobo/core/plugin.rb +11 -20
- data/lib/watobo/core/project.rb +3 -9
- data/lib/watobo/core/proxy.rb +43 -52
- data/lib/watobo/core/request.rb +125 -123
- data/lib/watobo/core/response.rb +44 -53
- data/lib/watobo/core/scanner.rb +0 -9
- data/lib/watobo/core/scanner3.rb +405 -414
- data/lib/watobo/core/scope.rb +83 -92
- data/lib/watobo/core/session.rb +1043 -1026
- data/lib/watobo/core/sid_cache.rb +98 -107
- data/lib/watobo/core/subscriber.rb +25 -34
- data/lib/watobo/defaults.rb +21 -30
- data/lib/watobo/external/diff/lcs.rb +0 -9
- data/lib/watobo/external/diff/lcs/array.rb +0 -9
- data/lib/watobo/external/diff/lcs/block.rb +0 -9
- data/lib/watobo/external/diff/lcs/callbacks.rb +0 -9
- data/lib/watobo/external/diff/lcs/change.rb +0 -9
- data/lib/watobo/external/diff/lcs/hunk.rb +0 -9
- data/lib/watobo/external/diff/lcs/ldiff.rb +0 -9
- data/lib/watobo/external/diff/lcs/string.rb +0 -9
- data/lib/watobo/externals.rb +6 -15
- data/lib/watobo/framework.rb +4 -13
- data/lib/watobo/framework/create_project.rb +60 -69
- data/lib/watobo/framework/init.rb +0 -9
- data/lib/watobo/framework/init_modules.rb +0 -9
- data/lib/watobo/framework/license_text.rb +28 -37
- data/lib/watobo/framework/load_chat.rb +13 -22
- data/lib/watobo/gui.rb +132 -123
- data/lib/watobo/gui/about_watobo.rb +0 -9
- data/lib/watobo/gui/browser_preview.rb +0 -9
- data/lib/watobo/gui/certificate_dialog.rb +0 -9
- data/lib/watobo/gui/chat_diff.rb +0 -9
- data/lib/watobo/gui/chatviewer_frame.rb +73 -72
- data/lib/watobo/gui/checkboxtree.rb +0 -9
- data/lib/watobo/gui/checks_policy_frame.rb +0 -9
- data/lib/watobo/gui/client_cert_dialog.rb +96 -87
- data/lib/watobo/gui/confirm_scan_dialog.rb +0 -9
- data/lib/watobo/gui/conversation_table.rb +158 -164
- data/lib/watobo/gui/conversation_table_ctrl.rb +207 -216
- data/lib/watobo/gui/conversation_table_ctrl2.rb +373 -382
- data/lib/watobo/gui/csrf_token_dialog.rb +0 -9
- data/lib/watobo/gui/custom_viewer.rb +374 -383
- data/lib/watobo/gui/dashboard.rb +296 -303
- data/lib/watobo/gui/define_scope_frame.rb +0 -9
- data/lib/watobo/gui/differ_frame.rb +215 -224
- data/lib/watobo/gui/edit_comment.rb +0 -9
- data/lib/watobo/gui/edit_scope_dialog.rb +0 -9
- data/lib/watobo/gui/export_dialog.rb +104 -113
- data/lib/watobo/gui/finding_info.rb +0 -9
- data/lib/watobo/gui/findings_tree.rb +210 -217
- data/lib/watobo/gui/full_scan_dialog.rb +0 -9
- data/lib/watobo/gui/fuzzer_gui.rb +1295 -1313
- data/lib/watobo/gui/fxsave_thread.rb +14 -0
- data/lib/watobo/gui/goto_url_dialog.rb +70 -79
- data/lib/watobo/gui/hex_viewer.rb +0 -9
- data/lib/watobo/gui/html_viewer.rb +287 -296
- data/lib/watobo/gui/intercept_filter_dialog.rb +188 -197
- data/lib/watobo/gui/interceptor_gui.rb +1041 -1051
- data/lib/watobo/gui/interceptor_settings_dialog.rb +0 -9
- data/lib/watobo/gui/json_viewer.rb +287 -0
- data/lib/watobo/gui/list_box.rb +101 -110
- data/lib/watobo/gui/log_file_viewer.rb +32 -41
- data/lib/watobo/gui/log_viewer.rb +83 -88
- data/lib/watobo/gui/login_wizzard.rb +0 -9
- data/lib/watobo/gui/main_window.rb +587 -618
- data/lib/watobo/gui/manual_request_editor.rb +620 -565
- data/lib/watobo/gui/master_pw_dialog.rb +0 -9
- data/lib/watobo/gui/mixins/gui_settings.rb +29 -38
- data/lib/watobo/gui/page_tree.rb +217 -226
- data/lib/watobo/gui/password_policy_dialog.rb +0 -9
- data/lib/watobo/gui/plugin_board.rb +0 -9
- data/lib/watobo/gui/preferences_dialog.rb +0 -9
- data/lib/watobo/gui/progress_window.rb +17 -27
- data/lib/watobo/gui/project_wizzard.rb +0 -9
- data/lib/watobo/gui/proxy_dialog.rb +1 -10
- data/lib/watobo/gui/quick_scan_dialog.rb +0 -9
- data/lib/watobo/gui/request_builder_frame.rb +102 -111
- data/lib/watobo/gui/request_editor.rb +181 -137
- data/lib/watobo/gui/rewrite_filters_dialog.rb +394 -403
- data/lib/watobo/gui/rewrite_rules_dialog.rb +372 -381
- data/lib/watobo/gui/save_chat_dialog.rb +140 -149
- data/lib/watobo/gui/scanner_settings_dialog.rb +0 -9
- data/lib/watobo/gui/select_chat_dialog.rb +0 -9
- data/lib/watobo/gui/session_management_dialog.rb +0 -9
- data/lib/watobo/gui/sites_tree.rb +0 -9
- data/lib/watobo/gui/status_bar.rb +0 -9
- data/lib/watobo/gui/table_editor.rb +0 -9
- data/lib/watobo/gui/tagless_viewer.rb +0 -9
- data/lib/watobo/gui/templates/plugin.rb +0 -9
- data/lib/watobo/gui/templates/plugin2.rb +92 -100
- data/lib/watobo/gui/templates/plugin_base.rb +144 -153
- data/lib/watobo/gui/text_viewer.rb +0 -9
- data/lib/watobo/gui/transcoder_window.rb +0 -9
- data/lib/watobo/gui/utils/gui_utils.rb +0 -9
- data/lib/watobo/gui/utils/init_icons.rb +86 -95
- data/lib/watobo/gui/utils/load_icons.rb +33 -42
- data/lib/watobo/gui/utils/load_plugins.rb +116 -119
- data/lib/watobo/gui/utils/master_password.rb +68 -77
- data/lib/watobo/gui/utils/save_default_settings.rb +113 -122
- data/lib/watobo/gui/utils/save_project_settings.rb +0 -9
- data/lib/watobo/gui/utils/save_proxy_settings.rb +41 -50
- data/lib/watobo/gui/utils/save_scanner_settings.rb +18 -27
- data/lib/watobo/gui/utils/session_history.rb +112 -121
- data/lib/watobo/gui/workspace_dialog.rb +0 -9
- data/lib/watobo/gui/www_auth_dialog.rb +0 -9
- data/lib/watobo/gui/xml_viewer_frame.rb +0 -9
- data/lib/watobo/http.rb +4 -13
- data/lib/watobo/http/cookies/cookies.rb +26 -35
- data/lib/watobo/http/data/data.rb +45 -54
- data/lib/watobo/http/data/json.rb +47 -55
- data/lib/watobo/http/url/url.rb +38 -47
- data/lib/watobo/http/xml/xml.rb +124 -130
- data/lib/watobo/interceptor.rb +3 -12
- data/lib/watobo/interceptor/proxy.rb +742 -739
- data/lib/watobo/interceptor/transparent.rb +22 -24
- data/lib/watobo/mixins.rb +10 -19
- data/lib/watobo/mixins/check_info.rb +27 -36
- data/lib/watobo/mixins/httpparser.rb +613 -637
- data/lib/watobo/mixins/request_parser.rb +88 -97
- data/lib/watobo/mixins/shapers.rb +515 -529
- data/lib/watobo/mixins/transcoders.rb +3 -11
- data/lib/watobo/parser.rb +1 -10
- data/lib/watobo/parser/html.rb +83 -92
- data/lib/watobo/patch_fxruby_setfocus.rb +26 -0
- data/lib/watobo/sockets.rb +3 -12
- data/lib/watobo/sockets/agent.rb +828 -837
- data/lib/watobo/sockets/client_socket.rb +308 -312
- data/lib/watobo/sockets/connection.rb +401 -410
- data/lib/watobo/sockets/http_socket.rb +11 -13
- data/lib/watobo/sockets/ntlm_auth.rb +129 -138
- data/lib/watobo/utils.rb +10 -19
- data/lib/watobo/utils/check_regex.rb +0 -9
- data/lib/watobo/utils/copy_object.rb +0 -9
- data/lib/watobo/utils/crypto.rb +0 -9
- data/lib/watobo/utils/expand_range.rb +23 -32
- data/lib/watobo/utils/export_xml.rb +97 -106
- data/lib/watobo/utils/file_management.rb +9 -11
- data/lib/watobo/utils/hexprint.rb +9 -18
- data/lib/watobo/utils/load_chat.rb +0 -9
- data/lib/watobo/utils/load_icon.rb +0 -9
- data/lib/watobo/utils/ntlm.rb +866 -875
- data/lib/watobo/utils/print_debug.rb +12 -21
- data/lib/watobo/utils/response_builder.rb +90 -99
- data/lib/watobo/utils/response_hash.rb +0 -9
- data/lib/watobo/utils/secure_eval.rb +0 -9
- data/lib/watobo/utils/strings.rb +10 -19
- data/lib/watobo/utils/text2request.rb +0 -9
- data/lib/watobo/utils/url.rb +23 -32
- data/lib/watobo/utils/utf16.rb +11 -20
- data/modules/active/Apache/mod_status.rb +0 -9
- data/modules/active/Apache/multiview.rb +151 -160
- data/modules/active/Flash/crossdomain.rb +0 -9
- data/modules/active/JWT/jwt_oauth2_none.rb +111 -0
- data/modules/active/cq5/cq5_default_selectors.rb +106 -115
- data/modules/active/cq5/cqp_user_enumeration.rb +125 -134
- data/modules/active/directories/dirwalker.rb +0 -9
- data/modules/active/discovery/fileextensions.rb +0 -9
- data/modules/active/discovery/http_methods.rb +0 -9
- data/modules/active/discovery/jsmapfiles.rb +79 -0
- data/modules/active/domino/domino_db.rb +68 -76
- data/modules/active/dotNET/custom_errors.rb +102 -111
- data/modules/active/dotNET/dotnet_files.rb +90 -99
- data/modules/active/fileinclusion/lfi_simple.rb +0 -9
- data/modules/active/jboss/jboss_basic.rb +0 -9
- data/modules/active/sap/business_objects.rb +51 -60
- data/modules/active/sap/its_commands.rb +0 -9
- data/modules/active/sap/its_service_parameter.rb +0 -9
- data/modules/active/sap/its_services.rb +0 -9
- data/modules/active/sap/its_xss.rb +0 -9
- data/modules/active/shell_shock/shell_shock.rb +139 -148
- data/modules/active/siebel/siebel_apps.rb +160 -169
- data/modules/active/sqlinjection/sql_boolean.rb +0 -9
- data/modules/active/sqlinjection/sql_numerical.rb +198 -0
- data/modules/active/sqlinjection/sqli_error.rb +0 -9
- data/modules/active/sqlinjection/sqli_timing.rb +220 -229
- data/modules/active/struts2/default_handler_ognl.rb +106 -115
- data/modules/active/struts2/include_params_ognl.rb +105 -114
- data/modules/active/xml/xml_xxe.rb +112 -123
- data/modules/active/xss/xss_ng.rb +214 -223
- data/modules/active/xss/xss_simple.rb +0 -9
- data/modules/passive/ajax.rb +68 -77
- data/modules/passive/autocomplete.rb +56 -65
- data/modules/passive/cookie_options.rb +0 -9
- data/modules/passive/cookie_xss.rb +0 -9
- data/modules/passive/detect_code.rb +0 -9
- data/modules/passive/detect_fileupload.rb +0 -9
- data/modules/passive/detect_infrastructure.rb +0 -9
- data/modules/passive/detect_one_time_tokens.rb +0 -9
- data/modules/passive/dirindexing.rb +0 -9
- data/modules/passive/disclosure_domino.rb +55 -64
- data/modules/passive/disclosure_emails.rb +0 -9
- data/modules/passive/disclosure_ipaddr.rb +55 -53
- data/modules/passive/filename_as_parameter.rb +0 -9
- data/modules/passive/form_spotter.rb +0 -9
- data/modules/passive/hidden_fields.rb +50 -59
- data/modules/passive/hotspots.rb +0 -9
- data/modules/passive/in_script_parameter.rb +0 -9
- data/modules/passive/json_web_token.rb +93 -0
- data/modules/passive/multiple_server_headers.rb +0 -9
- data/modules/passive/possible_login.rb +0 -9
- data/modules/passive/redirect_url.rb +0 -9
- data/modules/passive/redirectionz.rb +0 -9
- data/modules/passive/sap-headers.rb +56 -65
- data/modules/passive/xss_dom.rb +0 -9
- data/plugins/aem/aem.rb +11 -20
- data/plugins/aem/gui/main.rb +118 -127
- data/plugins/aem/gui/tree_view.rb +171 -180
- data/plugins/aem/lib/agent.rb +130 -138
- data/plugins/aem/lib/dispatcher.rb +45 -51
- data/plugins/aem/lib/engine.rb +177 -186
- data/plugins/catalog/catalog.rb +345 -355
- data/plugins/crawler/crawler.rb +4 -13
- data/plugins/crawler/gui.rb +5 -14
- data/plugins/crawler/gui/auth_frame.rb +270 -279
- data/plugins/crawler/gui/crawler_gui.rb +271 -276
- data/plugins/crawler/gui/general_settings_frame.rb +96 -105
- data/plugins/crawler/gui/hooks_frame.rb +80 -89
- data/plugins/crawler/gui/scope_frame.rb +50 -59
- data/plugins/crawler/gui/settings_tabbook.rb +38 -47
- data/plugins/crawler/gui/status_frame.rb +59 -68
- data/plugins/crawler/lib/bags.rb +18 -27
- data/plugins/crawler/lib/constants.rb +11 -20
- data/plugins/crawler/lib/engine.rb +488 -497
- data/plugins/crawler/lib/grabber.rb +68 -77
- data/plugins/crawler/lib/status.rb +71 -80
- data/plugins/crawler/lib/uri_mp.rb +12 -21
- data/plugins/filefinder/filefinder.rb +326 -333
- data/plugins/sqlmap/bin/test.rb +78 -87
- data/plugins/sqlmap/gui.rb +4 -13
- data/plugins/sqlmap/gui/main.rb +218 -227
- data/plugins/sqlmap/gui/options_frame.rb +97 -106
- data/plugins/sqlmap/lib/sqlmap_ctrl.rb +90 -100
- data/plugins/sqlmap/sqlmap.rb +2 -11
- data/plugins/sslchecker/cli/sslchecker_cli.rb +0 -9
- data/plugins/sslchecker/gui/cipher_table.rb +246 -254
- data/plugins/sslchecker/gui/gui.rb +258 -264
- data/plugins/sslchecker/gui/sslchecker.rb +4 -13
- data/plugins/sslchecker/lib/check.rb +127 -133
- data/plugins/wshell/gui/main.rb +119 -117
- data/plugins/wshell/lib/core.rb +38 -88
- data/plugins/wshell/wshell.rb +11 -20
- metadata +170 -164
data/lib/watobo/framework.rb
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
data/lib/watobo/gui.rb
CHANGED
|
@@ -1,124 +1,133 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
@application
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
require File.join("watobo","gui",
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
require 'watobo/gui/
|
|
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'
|