buby 1.3.1-java → 1.3.3-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (8) hide show
  1. data/README.rdoc +10 -7
  2. data/Rakefile +24 -12
  3. data/VERSION +1 -1
  4. data/bin/buby +21 -5
  5. data/buby.gemspec +14 -14
  6. data/java/buby.jar +0 -0
  7. data/lib/buby.rb +5 -4
  8. metadata +29 -43
@@ -104,13 +104,16 @@ test your Buby set-up and try out a few features.
104
104
 
105
105
  $ buby -h
106
106
  Usage: buby [options]
107
- -i, --interactive Start IRB
108
- -d, --debug Debug info
109
- -B, --load-burp=PATH Load Burp Jar from PATH
110
- -s, --state=FILE Restore burp state file on startup
111
- -r, --require=LIB load a ruby lib (or jar) after Burp loads
112
- -e, --extend=MOD Extend Buby with a module (loaded via -r?)
113
- -h, --help Show this help message
107
+ -i, --interactive Start IRB
108
+ -p, --pry Start pry
109
+ -d, --debug Debug info
110
+ -B, --load-burp=PATH Load Burp Jar from PATH
111
+ -P, --proxy-interception Enable intercept on load
112
+ -s, --state=FILE Restore burp state file on startup
113
+ -r, --require=LIB load a ruby lib (or jar) after Burp loads
114
+ -e, --extend=MOD Extend Buby with a module (loaded via -r?)
115
+ -v, --version Prints version and exits.
116
+ -h, --help Show this help message
114
117
 
115
118
  $ buby -i -d
116
119
  [:got_extender, #<Java::Default::BurpExtender:0x80 ...>]
data/Rakefile CHANGED
@@ -2,6 +2,8 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'rake/clean'
4
4
 
5
+ CLOBBER.add '**/*.class', '**/*.jar', "doc", '.yardoc'
6
+
5
7
  begin
6
8
  require 'jeweler'
7
9
  Jeweler::Tasks.new do |gem|
@@ -12,6 +14,7 @@ begin
12
14
  gem.homepage = "http://tduehr.github.com/buby"
13
15
  gem.authors = ["Eric Monti, tduehr"]
14
16
  gem.platform = "java"
17
+ gem.files.include "**/*.jar"
15
18
  gem.test_files = ["test/buby_test.rb"]
16
19
  gem.require_paths << 'java'
17
20
  gem.rdoc_options = ["--main", "README.rdoc"]
@@ -33,19 +36,28 @@ task :test => :check_dependencies
33
36
 
34
37
  task :default => :test
35
38
 
36
- require 'rake/rdoctask'
37
- Rake::RDocTask.new do |rdoc|
38
- if File.exist?('VERSION')
39
- version = File.read('VERSION')
40
- else
41
- version = ""
39
+ begin
40
+ require 'rdoc/task'
41
+ Rake::RDocTask.new do |rdoc|
42
+ if File.exist?('VERSION')
43
+ version = File.read('VERSION')
44
+ else
45
+ version = ""
46
+ end
47
+
48
+ rdoc.rdoc_dir = 'rdoc'
49
+ rdoc.title = "buby #{version}"
50
+ rdoc.rdoc_files.include('README*')
51
+ rdoc.rdoc_files.include('History.txt')
52
+ rdoc.rdoc_files.include('bin/buby')
53
+ rdoc.rdoc_files.include('lib/**/*.rb')
42
54
  end
55
+ rescue LoadError
56
+ end
43
57
 
44
- rdoc.rdoc_dir = 'rdoc'
45
- rdoc.title = "buby #{version}"
46
- rdoc.rdoc_files.include('README*')
47
- rdoc.rdoc_files.include('History.txt')
48
- rdoc.rdoc_files.include('bin/buby')
49
- rdoc.rdoc_files.include('lib/**/*.rb')
58
+ begin
59
+ require 'yard'
60
+ YARD::Rake::YardocTask.new
61
+ rescue LoadError
50
62
  end
51
63
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.1
1
+ 1.3.3
data/bin/buby CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env jruby
2
2
 
3
- require File.expand_path(File.join(File.dirname(__FILE__), %w[.. lib buby]))
3
+ require 'buby'
4
4
  require 'irb'
5
5
  require 'optparse'
6
6
 
@@ -14,7 +14,9 @@ begin
14
14
  raise opts.to_s
15
15
  end
16
16
 
17
- o.on("-i", "--interactive", "Start IRB") { args[:irb] = true }
17
+ o.on("-i", "--interactive", "Start IRB") { args[:interactive] = :irb }
18
+
19
+ o.on("-p", "--pry", "Start pry") { args[:interactive] = :pry }
18
20
 
19
21
  o.on("-d", "--debug", "Debug info") { args[:debug] = true }
20
22
 
@@ -22,6 +24,8 @@ begin
22
24
  args[:load_burp] = b
23
25
  end
24
26
 
27
+ o.on("-P", "--proxy-interception", "Enable intercept on load") {args[:proxy_interception] = true}
28
+
25
29
  o.on('-s', '--state=FILE', "Restore burp state file on startup") do |r|
26
30
  args[:restore] = r
27
31
  end
@@ -59,6 +63,11 @@ $DEBUG=true if args[:debug]
59
63
 
60
64
  $burp = Buby.start_burp()
61
65
 
66
+ until $burp.burp_callbacks
67
+ puts 'Waiting for burp callbacks...' if $DEBUG
68
+ sleep 0.1
69
+ end
70
+
62
71
  if libs=args[:requires]
63
72
  libs.each {|lib| STDERR.puts "Loading: #{lib.inspect}"; require(lib)}
64
73
  end
@@ -92,7 +101,10 @@ if f=args[:restore]
92
101
  $burp.restore_state(f)
93
102
  end
94
103
 
95
- if args[:irb]
104
+ $burp.proxy_interception = false unless args[:proxy_interception]
105
+
106
+ case args[:interactive]
107
+ when :irb
96
108
  # yucky hack...
97
109
  IRB.setup(nil)
98
110
  IRB.conf[:IRB_NAME] = File.basename($0, ".rb")
@@ -101,8 +113,12 @@ if args[:irb]
101
113
  def setup(*args); end
102
114
  end
103
115
  end
104
- puts "Global $burp is set to #{$burp.inspect}",
116
+ puts "Starting IRB: Global $burp is set to #{$burp.inspect}",
105
117
  " Important Note: exit with $burp.close"
106
118
  IRB.start()
119
+ when :pry
120
+ require 'pry'
121
+ puts "Starting Pry: Global $burp is set to #{$burp.inspect}",
122
+ " Important Note: exit with $burp.close"
123
+ Pry.start
107
124
  end
108
-
@@ -4,16 +4,16 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{buby}
8
- s.version = "1.3.1"
9
- s.platform = %q{java}
7
+ s.name = "buby"
8
+ s.version = "1.3.3"
9
+ s.platform = "java"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.authors = [%q{Eric Monti, tduehr}]
13
- s.date = %q{2011-12-05}
14
- s.description = %q{Buby is a mashup of JRuby with the popular commercial web security testing tool Burp Suite from PortSwigger. Burp is driven from and tied to JRuby with a Java extension using the BurpExtender API. This extension aims to add Ruby scriptability to Burp Suite with an interface comparable to the Burp's pure Java extension interface.}
15
- s.email = %q{emonti@matasano.com, td@matasano.com}
16
- s.executables = [%q{buby}]
12
+ s.authors = ["Eric Monti, tduehr"]
13
+ s.date = "2012-12-14"
14
+ s.description = "Buby is a mashup of JRuby with the popular commercial web security testing tool Burp Suite from PortSwigger. Burp is driven from and tied to JRuby with a Java extension using the BurpExtender API. This extension aims to add Ruby scriptability to Burp Suite with an interface comparable to the Burp's pure Java extension interface."
15
+ s.email = "emonti@matasano.com, td@matasano.com"
16
+ s.executables = ["buby"]
17
17
  s.extra_rdoc_files = [
18
18
  "History.txt",
19
19
  "README.rdoc",
@@ -48,12 +48,12 @@ Gem::Specification.new do |s|
48
48
  "samples/watch_scan.rb",
49
49
  "test/buby_test.rb"
50
50
  ]
51
- s.homepage = %q{http://tduehr.github.com/buby}
52
- s.rdoc_options = [%q{--main}, %q{README.rdoc}]
53
- s.require_paths = [%q{lib}, %q{java}, %q{java}]
54
- s.rubygems_version = %q{1.8.6}
55
- s.summary = %q{Buby is a mashup of JRuby with the popular commercial web security testing tool Burp Suite from PortSwigger}
56
- s.test_files = [%q{test/buby_test.rb}]
51
+ s.homepage = "http://tduehr.github.com/buby"
52
+ s.rdoc_options = ["--main", "README.rdoc"]
53
+ s.require_paths = ["lib", "java", "java"]
54
+ s.rubygems_version = "1.8.24"
55
+ s.summary = "Buby is a mashup of JRuby with the popular commercial web security testing tool Burp Suite from PortSwigger"
56
+ s.test_files = ["test/buby_test.rb"]
57
57
 
58
58
  if s.respond_to? :specification_version then
59
59
  s.specification_version = 3
Binary file
@@ -424,6 +424,7 @@ class Buby
424
424
  _check_and_callback(:setProxyInterceptionEnabled, enabled)
425
425
  end
426
426
  alias proxy_interception_enabled setProxyInterceptionEnabled
427
+ alias proxy_interception= setProxyInterceptionEnabled
427
428
 
428
429
  # This method can be used to determine the version of the loaded burp at runtime.
429
430
  # This is included in the Javadoc for the extension interfaces but not the supplied interface files.
@@ -828,11 +829,11 @@ class Buby
828
829
 
829
830
  # Checks the Java namespace to see if Burp has been loaded.
830
831
  def self.burp_loaded?
831
- begin
832
- include_class 'burp.StartBurp'
833
- return true
832
+ @burp_loaded ||= begin
833
+ java_import 'burp.StartBurp'
834
+ true
834
835
  rescue NameError
835
- return false
836
+ false
836
837
  end
837
838
  end
838
839
 
metadata CHANGED
@@ -1,34 +1,26 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: buby
3
- version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease:
6
- segments:
7
- - 1
8
- - 3
9
- - 1
10
- version: 1.3.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.3
5
+ prerelease:
11
6
  platform: java
12
- authors:
7
+ authors:
13
8
  - Eric Monti, tduehr
14
- autorequire:
9
+ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-12-05 00:00:00 Z
12
+ date: 2012-12-14 00:00:00.000000000 Z
19
13
  dependencies: []
20
-
21
14
  description: Buby is a mashup of JRuby with the popular commercial web security testing tool Burp Suite from PortSwigger. Burp is driven from and tied to JRuby with a Java extension using the BurpExtender API. This extension aims to add Ruby scriptability to Burp Suite with an interface comparable to the Burp's pure Java extension interface.
22
15
  email: emonti@matasano.com, td@matasano.com
23
- executables:
16
+ executables:
24
17
  - buby
25
18
  extensions: []
26
-
27
- extra_rdoc_files:
19
+ extra_rdoc_files:
28
20
  - History.txt
29
21
  - README.rdoc
30
22
  - bin/buby
31
- files:
23
+ files:
32
24
  - History.txt
33
25
  - README.rdoc
34
26
  - Rakefile
@@ -58,39 +50,33 @@ files:
58
50
  - test/buby_test.rb
59
51
  homepage: http://tduehr.github.com/buby
60
52
  licenses: []
61
-
62
- post_install_message:
63
- rdoc_options:
53
+ post_install_message:
54
+ rdoc_options:
64
55
  - --main
65
56
  - README.rdoc
66
- require_paths:
57
+ require_paths:
67
58
  - lib
68
59
  - java
69
60
  - java
70
- required_ruby_version: !ruby/object:Gem::Requirement
61
+ required_ruby_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: !binary |-
66
+ MA==
71
67
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 3
76
- segments:
77
- - 0
78
- version: "0"
79
- required_rubygems_version: !ruby/object:Gem::Requirement
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: !binary |-
73
+ MA==
80
74
  none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
88
75
  requirements: []
89
-
90
- rubyforge_project:
91
- rubygems_version: 1.8.6
92
- signing_key:
76
+ rubyforge_project:
77
+ rubygems_version: 1.8.24
78
+ signing_key:
93
79
  specification_version: 3
94
80
  summary: Buby is a mashup of JRuby with the popular commercial web security testing tool Burp Suite from PortSwigger
95
- test_files:
81
+ test_files:
96
82
  - test/buby_test.rb