class Rex::Proto::DRDA::SECCHK_DDM
Public Class Methods
new(args={})
click to toggle source
# File lib/rex/proto/drda/packet.rb, line 223 def initialize(args={}) # Takes :dbname, :dbpass, :dbuser self[:magic] = 0xd0 self[:format] = 0x01 self[:correlid] = 2 self[:codepoint] = Constants::SECCHK self[:secmec] = SECMEC_PARAM.new.to_s if args[:dbname] # Include a database name if we're given one. self[:rdbnam] = RDBNAM_PARAM.new(:payload => args[:dbname]).to_s end self[:password] = PASSWORD_PARAM.new(:payload => args[:dbpass]).to_s self[:userid] = USERID_PARAM.new(:payload => args[:dbuser]).to_s self[:length] = ( 10 + self[:secmec].to_s.size + self[:rdbnam].to_s.size + self[:password].to_s.size + self[:userid].to_s.size ) self[:length2] = self[:length]-6 end
Public Instance Methods
dbname=(str)
click to toggle source
# File lib/rex/proto/drda/packet.rb, line 238 def dbname=(str) self[:rdbnam] = RDBNAM_PARAM.new(:payload => args[:dbname]).to_s end
to_s()
click to toggle source
# File lib/rex/proto/drda/packet.rb, line 241 def to_s packstr = "nCCnnna6" packstr += "a22" if self[:rdbnam] packstr += "a*a*" # username and password self.to_a.pack(packstr) end