Files
metasploit-gs/lib/msf/base/sessions/postgresql.rb
T
2024-02-21 18:01:55 +00:00

57 lines
1.1 KiB
Ruby

# -*- coding: binary -*-
require 'rex/post/postgresql'
class Msf::Sessions::PostgreSQL < Msf::Sessions::Sql
# @param[Rex::IO::Stream] rstream
# @param [Hash] opts
# @param opts [PostgreSQL::Client] :client
def initialize(rstream, opts = {})
@client = opts.fetch(:client)
@console = ::Rex::Post::PostgreSQL::Ui::Console.new(self)
super(rstream, opts)
end
def bootstrap(datastore = {}, handler = nil)
session = self
session.init_ui(user_input, user_output)
@info = "PostgreSQL #{datastore['USERNAME']} @ #{@peer_info}"
end
#
# @return [String] The type of the session
#
def self.type
'postgresql'
end
#
# @return [Boolean] Can the session clean up after itself
def self.can_cleanup_files
false
end
#
# @return [String] The session description
#
def desc
'PostgreSQL'
end
def address
return @address if @address
@address, @port = @client.conn.peerinfo.split(':')
@address
end
def port
return @port if @port
@address, @port = @client.conn.peerinfo.split(':')
@port
end
end