watobo 0.9.13 → 0.9.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- if $0 == __FILE__
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
- require File.join(gui_path, l + ".rb")
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
- @opts[:head_request_pattern] = '' if @opts[:head_request_pattern].nil?
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
- @engine_status = CRAWL_RUNNING
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
- { :engine_status => @engine_status,
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
 
@@ -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
- puts "Loading #{f}"
39
+
39
40
  end
40
41
 
41
42
  require 'watobo/gui/utils/init_icons'
@@ -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
- require File.join(File.expand_path(File.dirname(__FILE__)), "sqlmap")
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
- require File.join(gui_path, l + ".rb")
25
+ require_relative File.join('gui', l )
27
26
  end
@@ -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
- require File.join(path, "lib", l)
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
- require File.join(path, "..", "lib", "check.rb")
25
- require File.join(path, "cipher_table.rb")
26
- require File.join(path, "gui.rb")
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.13
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-08-09 00:00:00.000000000 Z
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
- # .