watobo 0.9.13 → 0.9.14
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.
- data/CHANGELOG.md +12 -0
- data/README.md +1 -1
- data/lib/watobo/constants.rb +1 -0
- data/lib/watobo/core/chat.rb +4 -2
- data/lib/watobo/core/cookie.rb +30 -16
- data/lib/watobo/core/passive_scanner.rb +2 -2
- data/lib/watobo/core/request.rb +1 -1
- data/lib/watobo/core/response.rb +1 -1
- data/lib/watobo/core/session.rb +15 -9
- data/lib/watobo/gui/conversation_table.rb +6 -1
- data/lib/watobo/gui/csrf_token_dialog.rb +1 -1
- data/lib/watobo/gui/main_window.rb +20 -1
- data/lib/watobo/gui/templates/plugin_base.rb +4 -5
- data/lib/watobo/gui/utils/gui_utils.rb +5 -2
- data/lib/watobo/gui/utils/load_plugins.rb +3 -3
- data/lib/watobo/http_socket/client_socket.rb +24 -11
- data/lib/watobo/http_socket/http_socket.rb +67 -0
- data/lib/watobo/interceptor/proxy.rb +102 -104
- data/lib/watobo/mixins/httpparser.rb +16 -17
- data/lib/watobo/mixins/shapers.rb +6 -4
- data/lib/watobo.rb +5 -1
- data/modules/passive/possible_login.rb +2 -5
- data/plugins/crawler/crawler.rb +1 -56
- data/plugins/crawler/gui/crawler_gui.rb +4 -5
- data/plugins/crawler/gui.rb +2 -90
- data/plugins/crawler/lib/engine.rb +6 -3
- data/plugins/crawler/lib/grabber.rb +4 -1
- data/plugins/sqlmap/bin/test.rb +2 -1
- data/plugins/sqlmap/gui.rb +2 -3
- data/plugins/sqlmap/sqlmap.rb +1 -3
- data/plugins/sslchecker/gui/sslchecker.rb +4 -4
- metadata +2 -4
- data/lib/watobo/http_socket/proxy.rb +0 -31
- data/modules/active/RoR/cve_2013_015x.rb +0 -21
data/plugins/crawler/gui.rb
CHANGED
@@ -19,97 +19,9 @@
|
|
19
19
|
# along with WATOBO; if not, write to the Free Software
|
20
20
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21
21
|
# .
|
22
|
-
|
23
|
-
inc_path = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "lib"))
|
24
|
-
$: << inc_path
|
25
|
-
|
26
|
-
require 'watobo'
|
27
|
-
require 'fox16'
|
28
|
-
|
29
|
-
include Fox
|
22
|
+
require_relative 'crawler.rb'
|
30
23
|
|
31
|
-
# @private
|
32
|
-
module Watobo#:nodoc: all
|
33
|
-
module Gui
|
34
|
-
@application = FXApp.new('LayoutTester', 'FoxTest')
|
35
|
-
|
36
|
-
%w( load_icons gui_utils load_plugins session_history save_default_settings master_password session_history save_project_settings save_proxy_settings ).each do |l|
|
37
|
-
f = File.join("watobo","gui","utils", l)
|
38
|
-
require f
|
39
|
-
#puts "Loading #{f}"
|
40
|
-
end
|
41
|
-
|
42
|
-
require 'watobo/gui/utils/init_icons'
|
43
|
-
|
44
|
-
gui_path = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "lib","watobo", "gui"))
|
45
|
-
|
46
|
-
Dir.glob("#{gui_path}/*.rb").each do |cf|
|
47
|
-
next if File.basename(cf) == 'main_window.rb' # skip main_window here, because it must be loaded last
|
48
|
-
require File.join("watobo","gui", File.basename(cf))
|
49
|
-
end
|
50
|
-
|
51
|
-
require 'watobo/gui/templates/plugin'
|
52
|
-
require 'watobo/gui/templates/plugin2'
|
53
|
-
require File.join(File.expand_path(File.dirname(__FILE__)), "crawler")
|
54
|
-
|
55
|
-
gui_path = File.join(File.expand_path(File.dirname(__FILE__)), "gui")
|
56
|
-
|
57
|
-
%w( crawler_gui settings_tabbook general_settings_frame status_frame hooks_frame auth_frame scope_frame ).each do |l|
|
58
|
-
#puts "Loading >> #{l}"
|
59
|
-
require File.join(gui_path, l + ".rb")
|
60
|
-
end
|
61
|
-
|
62
|
-
if ARGV.length > 0
|
63
|
-
url = ARGV[0]
|
64
|
-
end
|
65
|
-
|
66
|
-
class TestGui < FXMainWindow
|
67
|
-
|
68
|
-
def initialize(app)
|
69
|
-
# Call base class initializer first
|
70
|
-
super(app, "Test Application", :width => 800, :height => 600)
|
71
|
-
frame = FXVerticalFrame.new(self, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_GROOVE)
|
72
|
-
|
73
|
-
button = FXButton.new(frame, "Open Plugin",:opts => FRAME_THICK|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_TOP|LAYOUT_LEFT,:padLeft => 10, :padRight => 10, :padTop => 5, :padBottom => 5)
|
74
|
-
button.connect(SEL_COMMAND) {
|
75
|
-
|
76
|
-
dlg = Watobo::Plugin::Crawler::Gui.new(self)
|
77
|
-
|
78
|
-
if dlg.execute != 0
|
79
|
-
puts dlg.details.to_yaml
|
80
|
-
end
|
81
|
-
}
|
82
|
-
end
|
83
|
-
# Create and show the main window
|
84
|
-
def create
|
85
|
-
super # Create the windows
|
86
|
-
show(PLACEMENT_SCREEN) # Make the main window appear
|
87
|
-
dlg = Watobo::Plugin::Crawler::Gui.new(self)
|
88
|
-
dlg.set_tab_index 2
|
89
|
-
prefs = { :form_auth_url => "http://www.google.com" }
|
90
|
-
dlg.settings.auth.set prefs
|
91
|
-
|
92
|
-
if dlg.execute != 0
|
93
|
-
puts dlg.details.to_yaml
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
97
|
-
# application = FXApp.new('LayoutTester', 'FoxTest')
|
98
|
-
TestGui.new(@application)
|
99
|
-
@application.create
|
100
|
-
@application.run
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
|
105
|
-
else
|
106
|
-
|
107
|
-
require File.join(File.expand_path(File.dirname(__FILE__)), "crawler")
|
108
|
-
|
109
|
-
gui_path = File.join(File.expand_path(File.dirname(__FILE__)), "gui")
|
110
24
|
%w( crawler_gui settings_tabbook general_settings_frame status_frame hooks_frame auth_frame scope_frame ).each do |l|
|
111
25
|
#puts "Loading >> #{l}"
|
112
|
-
|
26
|
+
require_relative File.join("gui", l)
|
113
27
|
end
|
114
|
-
|
115
|
-
end
|
@@ -181,8 +181,10 @@ false
|
|
181
181
|
end
|
182
182
|
|
183
183
|
def run(url, opts={})
|
184
|
+
@engine_status = CRAWL_RUNNING
|
185
|
+
|
184
186
|
@opts.update opts
|
185
|
-
|
187
|
+
@opts[:head_request_pattern] = '' if @opts[:head_request_pattern].nil?
|
186
188
|
|
187
189
|
@link_queue = Queue.new
|
188
190
|
@page_queue = Queue.new
|
@@ -214,7 +216,7 @@ puts "---"
|
|
214
216
|
@grabber_threads << g.run
|
215
217
|
end
|
216
218
|
|
217
|
-
@
|
219
|
+
puts "* startet #{@grabber_threads.length} grabbers"
|
218
220
|
|
219
221
|
loop do
|
220
222
|
pagebag = @page_queue.deq
|
@@ -251,7 +253,8 @@ puts "---"
|
|
251
253
|
private
|
252
254
|
|
253
255
|
def current_status
|
254
|
-
{
|
256
|
+
{
|
257
|
+
:engine_status => @engine_status,
|
255
258
|
:link_size => @link_queue.size,
|
256
259
|
:page_size => @page_queue.size
|
257
260
|
}.update @stats
|
@@ -54,7 +54,7 @@ module Watobo#:nodoc: all
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def run
|
57
|
-
Thread.new(@link_queue, @page_queue){ |lq, pq|
|
57
|
+
@grab_thread = Thread.new(@link_queue, @page_queue){ |lq, pq|
|
58
58
|
loop do
|
59
59
|
begin
|
60
60
|
#link, referer, depth = lq.deq
|
@@ -69,12 +69,15 @@ module Watobo#:nodoc: all
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
}
|
72
|
+
@grab_thread
|
72
73
|
end
|
73
74
|
|
74
75
|
def initialize(link_queue, page_queue, opts = {} )
|
75
76
|
@link_queue = link_queue
|
76
77
|
@page_queue = page_queue
|
77
78
|
@opts = opts
|
79
|
+
@grab_thread = nil
|
80
|
+
|
78
81
|
begin
|
79
82
|
@agent = Crawler::Agent.new(@opts)
|
80
83
|
|
data/plugins/sqlmap/bin/test.rb
CHANGED
@@ -34,8 +34,9 @@ module Watobo#:nodoc: all
|
|
34
34
|
|
35
35
|
%w( load_icons gui_utils load_plugins session_history save_default_settings master_password session_history save_project_settings save_proxy_settings ).each do |l|
|
36
36
|
f = File.join("watobo","gui","utils", l)
|
37
|
+
puts "SQLMap >> Loading #{f}"
|
37
38
|
require f
|
38
|
-
|
39
|
+
|
39
40
|
end
|
40
41
|
|
41
42
|
require 'watobo/gui/utils/init_icons'
|
data/plugins/sqlmap/gui.rb
CHANGED
@@ -19,9 +19,8 @@
|
|
19
19
|
# along with WATOBO; if not, write to the Free Software
|
20
20
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21
21
|
# .
|
22
|
-
|
22
|
+
require_relative 'sqlmap'
|
23
23
|
|
24
|
-
gui_path = File.join(File.expand_path(File.dirname(__FILE__)), "gui")
|
25
24
|
%w( main options_frame ).each do |l|
|
26
|
-
|
25
|
+
require_relative File.join('gui', l )
|
27
26
|
end
|
data/plugins/sqlmap/sqlmap.rb
CHANGED
@@ -19,8 +19,6 @@
|
|
19
19
|
# along with WATOBO; if not, write to the Free Software
|
20
20
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21
21
|
# .
|
22
|
-
path = File.expand_path(File.dirname(__FILE__))
|
23
|
-
|
24
22
|
%w( sqlmap_ctrl ).each do |l|
|
25
|
-
|
23
|
+
require_relative File.join("lib", l )
|
26
24
|
end
|
@@ -19,8 +19,8 @@
|
|
19
19
|
# along with WATOBO; if not, write to the Free Software
|
20
20
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21
21
|
# .
|
22
|
-
path = File.expand_path(File.dirname(__FILE__))
|
22
|
+
#path = File.expand_path(File.dirname(__FILE__))
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
require_relative File.join( "..", "lib", "check")
|
25
|
+
require_relative "cipher_table"
|
26
|
+
require_relative "gui"
|
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.
|
4
|
+
version: 0.9.14
|
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: 2013-
|
12
|
+
date: 2013-09-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mechanize
|
@@ -213,7 +213,6 @@ files:
|
|
213
213
|
- lib/watobo/http_socket/connection.rb
|
214
214
|
- lib/watobo/http_socket/http_socket.rb
|
215
215
|
- lib/watobo/http_socket/ntlm_auth.rb
|
216
|
-
- lib/watobo/http_socket/proxy.rb
|
217
216
|
- lib/watobo/http_socket.rb
|
218
217
|
- lib/watobo/interceptor/proxy.rb
|
219
218
|
- lib/watobo/interceptor/transparent.rb
|
@@ -263,7 +262,6 @@ files:
|
|
263
262
|
- modules/active/fileinclusion/lfi_simple.rb
|
264
263
|
- modules/active/Flash/crossdomain.rb
|
265
264
|
- modules/active/jboss/jboss_basic.rb
|
266
|
-
- modules/active/RoR/cve_2013_015x.rb
|
267
265
|
- modules/active/sap/its_commands.rb
|
268
266
|
- modules/active/sap/its_services.rb
|
269
267
|
- modules/active/sap/its_service_parameter.rb
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# .
|
2
|
-
# proxy.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
|
24
|
-
module HTPSocket
|
25
|
-
class Proxy
|
26
|
-
def initialize()
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# .
|
2
|
-
# cve_2013_015x.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
|
-
# .
|