Use symantec_web_gateway as an example of using send_request
parent
60f1d9c961
commit
6e3e696262
|
@ -27,41 +27,6 @@ module Metasploit
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# Sends a HTTP request with Rex
|
|
||||||
#
|
|
||||||
# @param (see Rex::Proto::Http::Request#request_raw)
|
|
||||||
# @raise [Rex::ConnectionError] Something has gone wrong while sending the HTTP request
|
|
||||||
# @return [Rex::Proto::Http::Response] The HTTP response
|
|
||||||
def send_request(opts)
|
|
||||||
res = nil
|
|
||||||
cli = Rex::Proto::Http::Client.new(host, port,
|
|
||||||
{
|
|
||||||
'Msf' => framework,
|
|
||||||
'MsfExploit' => framework_module
|
|
||||||
},
|
|
||||||
ssl,
|
|
||||||
ssl_version,
|
|
||||||
proxies
|
|
||||||
)
|
|
||||||
configure_http_client(cli)
|
|
||||||
begin
|
|
||||||
cli.connect
|
|
||||||
req = cli.request_cgi(opts)
|
|
||||||
res = cli.send_recv(req)
|
|
||||||
rescue ::Errno::EPIPE, ::Timeout::Error => e
|
|
||||||
# We are trying to mimic the same type of exception rescuing in
|
|
||||||
# Msf::Exploit::Remote::HttpClient. But instead of returning nil, we'll consistently
|
|
||||||
# raise Rex::ConnectionError so the #attempt_login can return the error message back
|
|
||||||
# to the login module.
|
|
||||||
raise Rex::ConnectionError, e.message
|
|
||||||
ensure
|
|
||||||
cli.close
|
|
||||||
end
|
|
||||||
|
|
||||||
res
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
# Returns the latest sid from Symantec Web Gateway.
|
# Returns the latest sid from Symantec Web Gateway.
|
||||||
#
|
#
|
||||||
# @returns [String] The PHP Session ID for Symantec Web Gateway login
|
# @returns [String] The PHP Session ID for Symantec Web Gateway login
|
||||||
|
|
|
@ -72,14 +72,6 @@ describe Metasploit::Framework::LoginScanner::SymantecWebGateway do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#send_request' do
|
|
||||||
context 'when a valid request is sent' do
|
|
||||||
it 'returns a response object' do
|
|
||||||
expect(subject.send_request({'uri'=>'/'})).to be_kind_of(Rex::Proto::Http::Response)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe '#get_last_sid' do
|
describe '#get_last_sid' do
|
||||||
let(:response) do
|
let(:response) do
|
||||||
res = Rex::Proto::Http::Response.new(200, 'OK')
|
res = Rex::Proto::Http::Response.new(200, 'OK')
|
||||||
|
|
Loading…
Reference in New Issue