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.
- data/README.rdoc +10 -7
- data/Rakefile +24 -12
- data/VERSION +1 -1
- data/bin/buby +21 -5
- data/buby.gemspec +14 -14
- data/java/buby.jar +0 -0
- data/lib/buby.rb +5 -4
- metadata +29 -43
data/README.rdoc
CHANGED
@@ -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
|
108
|
-
-
|
109
|
-
-
|
110
|
-
-
|
111
|
-
-
|
112
|
-
-
|
113
|
-
-
|
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
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
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
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
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.3.3
|
data/bin/buby
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
|
3
|
-
require
|
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[:
|
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
|
-
|
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
|
-
|
data/buby.gemspec
CHANGED
@@ -4,16 +4,16 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "1.3.
|
9
|
-
s.platform =
|
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 = [
|
13
|
-
s.date =
|
14
|
-
s.description =
|
15
|
-
s.email =
|
16
|
-
s.executables = [
|
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 =
|
52
|
-
s.rdoc_options = [
|
53
|
-
s.require_paths = [
|
54
|
-
s.rubygems_version =
|
55
|
-
s.summary =
|
56
|
-
s.test_files = [
|
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
|
data/java/buby.jar
CHANGED
Binary file
|
data/lib/buby.rb
CHANGED
@@ -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
|
-
|
833
|
-
|
832
|
+
@burp_loaded ||= begin
|
833
|
+
java_import 'burp.StartBurp'
|
834
|
+
true
|
834
835
|
rescue NameError
|
835
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
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
|
-
|
91
|
-
|
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
|