buby 1.3.1-java → 1.3.3-java

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 (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