updated meterpreter functional tests
git-svn-id: file:///home/svn/framework3/trunk@11909 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
b04ac2d446
commit
1de316c386
|
@ -1,3 +1,4 @@
|
|||
$:.unshift(File.join(File.dirname(__FILE__)))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'lib'))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'test', 'lib'))
|
||||
|
||||
|
@ -27,7 +28,7 @@ describe "JavaMeterpreter" do
|
|||
@meterpreter_type = "java"
|
||||
|
||||
## Set up an outupt directory
|
||||
@output_directory = "test_output_#{@meterpreter_type}"
|
||||
@output_directory = File.join(File.dirname(__FILE__), "test_output_#{@meterpreter_type}")
|
||||
|
||||
if File.directory? @output_directory
|
||||
FileUtils.rm_rf(@output_directory)
|
||||
|
@ -48,8 +49,8 @@ describe "JavaMeterpreter" do
|
|||
end
|
||||
|
||||
after :all do
|
||||
FileUtils.rm_rf("*.jpeg")
|
||||
FileUtils.rm_rf("payload.jar")
|
||||
#FileUtils.rm_rf("*.jpeg")
|
||||
#FileUtils.rm_rf("payload.jar")
|
||||
FileUtils.rm_rf(@output_directory)
|
||||
end
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
$:.unshift(File.join(File.dirname(__FILE__)))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'lib'))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'test', 'lib'))
|
||||
|
||||
|
@ -23,7 +24,7 @@ describe "PhpMeterpreter" do
|
|||
@meterpreter_type = "php"
|
||||
|
||||
## Set up an outupt directory
|
||||
@output_directory = "test_output_#{@meterpreter_type}"
|
||||
@output_directory = File.join(File.dirname(__FILE__), "test_output_#{@meterpreter_type}")
|
||||
|
||||
if File.directory? @output_directory
|
||||
FileUtils.rm_rf(@output_directory)
|
||||
|
|
|
@ -1,15 +1,22 @@
|
|||
$:.unshift(File.join(File.dirname(__FILE__)))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'lib'))
|
||||
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'test', 'lib'))
|
||||
|
||||
require 'fileutils'
|
||||
require 'msf/base'
|
||||
require 'meterpreter_spec_helper'
|
||||
require 'msf_matchers'
|
||||
require 'meterpreter_specs'
|
||||
require 'windows_meterpreter_specs'
|
||||
|
||||
module MsfTest
|
||||
|
||||
describe "Win32Meterpreter" do
|
||||
|
||||
# Include Custom Matchers
|
||||
include MsfTest::MsfMatchers
|
||||
|
||||
|
||||
# This include brings in all the spec helper methods
|
||||
include MsfTest::MeterpreterSpecHelper
|
||||
|
@ -28,7 +35,7 @@ describe "Win32Meterpreter" do
|
|||
@meterpreter_type = "win32"
|
||||
|
||||
## Set up an outupt directory
|
||||
@output_directory = "test_output_#{@meterpreter_type}"
|
||||
@output_directory = File.join(File.dirname(__FILE__), "test_output_#{@meterpreter_type}")
|
||||
|
||||
if File.directory? @output_directory
|
||||
FileUtils.rm_rf(@output_directory)
|
||||
|
@ -46,13 +53,22 @@ describe "Win32Meterpreter" do
|
|||
|
||||
after :each do
|
||||
@session.init_ui(@input, @output)
|
||||
|
||||
## Clean Up
|
||||
FileUtils.rm_rf(@output_directory)
|
||||
end
|
||||
end
|
||||
|
||||
after :all do
|
||||
|
||||
## Clean up test output
|
||||
FileUtils.rm_rf(@output_directory)
|
||||
|
||||
## Screenshot command leaves .jpegs :(
|
||||
## TODO - fix the meterpreter command to write to
|
||||
## TODO - an arbitrary file.
|
||||
Dir.new(File.dirname(__FILE__)).each do |file|
|
||||
if file =~ /.jpeg/
|
||||
File.delete(file)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def create_session_windows_x32
|
||||
|
@ -76,9 +92,11 @@ describe "Win32Meterpreter" do
|
|||
|
||||
## If a session came back, try to interact with it.
|
||||
if @session
|
||||
puts "got a session"
|
||||
@session.load_stdapi
|
||||
else
|
||||
flunk "Couldn't get a session!"
|
||||
puts "unable to get session"
|
||||
#flunk "Couldn't get a session!"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
$:.unshift(File.join((File.dirname(__FILE__))))
|
||||
require 'regexr'
|
||||
|
||||
module MsfTest
|
||||
|
||||
module MsfMatchers
|
||||
|
||||
class ContainACompleteTest
|
||||
|
@ -30,7 +32,7 @@ module MsfMatchers
|
|||
|
||||
class ContainAllSuccesses
|
||||
|
||||
def initialize(successes)
|
||||
def initialize(successes=[])
|
||||
@successes = successes
|
||||
@r = Regexr.new(true)
|
||||
end
|
||||
|
@ -53,13 +55,13 @@ module MsfMatchers
|
|||
#alias :have_all_successes :contain_all_successes
|
||||
end
|
||||
|
||||
def contain_all_successes(successes)
|
||||
def contain_all_successes(successes=[])
|
||||
ContainAllSuccesses.new(successes)
|
||||
end
|
||||
|
||||
class ContainNoFailuresExcept
|
||||
|
||||
def initialize(failures,exceptions)
|
||||
def initialize(failures=[],exceptions=[])
|
||||
@failures = failures
|
||||
@exceptions = exceptions
|
||||
@r = Regexr.new(true)
|
||||
|
@ -83,9 +85,10 @@ module MsfMatchers
|
|||
#alias :have_no_failures :contain_no_failures
|
||||
end
|
||||
|
||||
def contain_no_failures_except(failures,exceptions)
|
||||
def contain_no_failures_except(failures=[],exceptions=[])
|
||||
ContainNoFailuresExcept.new(failures,exceptions)
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue