Initial commit of Msf::Exploit::Java mixin and multi/browser/java_signed_applet exploit.
git-svn-id: file:///home/svn/framework3/trunk@8267 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/ruby
|
||||
|
||||
require 'rubygems'
|
||||
require 'rjb'
|
||||
|
||||
#Rjb::load('.', jvmargs=[])
|
||||
Rjb::load("#{ENV['JAVA_HOME']}/lib/tools.jar:.",jvmargs=[])
|
||||
|
||||
clsJavaCompile = Rjb::import('javaCompile.CompileSourceInMemory')
|
||||
clsCreateJar = Rjb::import('javaCompile.CreateJarFile')
|
||||
clsFile = Rjb::import('java.io.File')
|
||||
#clsString = Rjb::import('java.lang.String')
|
||||
|
||||
classNames = [ "HelloWorld1", "HelloWorld2" ]
|
||||
|
||||
codez = Array.new
|
||||
|
||||
classNames.each { |name|
|
||||
codez << %Q^
|
||||
public class #{name} {
|
||||
public static void main(String args[]) {
|
||||
System.out.println("This is from #{name}.");
|
||||
}
|
||||
}^}
|
||||
|
||||
#compileOpts = [""]
|
||||
outputDir = "testoutdir"
|
||||
compileOpts = [ "-target", "1.3", "-source", "1.3", "-d", outputDir ]
|
||||
|
||||
success = clsJavaCompile._invoke('CompileFromMemory','[Ljava.lang.String;[Ljava.lang.String;[Ljava.lang.String;', classNames, codez, compileOpts)
|
||||
|
||||
fileOutJar = clsFile.new_with_sig('Ljava.lang.String;', 'output.jar')
|
||||
filesIn = Array.new
|
||||
|
||||
classNames.each { |name|
|
||||
filesIn << clsFile.new_with_sig('Ljava.lang.String;', "#{outputDir}/#{name}.class")
|
||||
}
|
||||
|
||||
clsCreateJar._invoke('createJarArchive', 'Ljava.io.File;[Ljava.io.File;', fileOutJar, filesIn)
|
||||
|
||||
Reference in New Issue
Block a user