git-svn-id: https://beef.googlecode.com/svn/trunk@509 b87d56ec-f9c0-11de-8c8a-61c5e9addfc9
30 lines
528 B
Ruby
30 lines
528 B
Ruby
require "xmlrpc/client"
|
|
|
|
module BeEF
|
|
|
|
class MsfClient < ::XMLRPC::Client
|
|
|
|
attr_accessor :token
|
|
|
|
def login(user,pass)
|
|
res = self.call("auth.login", user, pass)
|
|
if(not (res and res['result'] == "success"))
|
|
raise RuntimeError, "MSF Authentication failed"
|
|
end
|
|
self.token = res['token']
|
|
true
|
|
end
|
|
|
|
def call(meth, *args)
|
|
if(meth != "auth.login")
|
|
if(not self.token)
|
|
raise RuntimeError, "client not authenticated"
|
|
end
|
|
args.unshift(self.token)
|
|
end
|
|
super(meth, *args)
|
|
end
|
|
|
|
end
|
|
end
|