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