a few fixes to sunrpc code
this fixes a couple of errors handling error messages also, some whitespace/indenting adjustments git-svn-id: file:///home/svn/framework3/trunk@8365 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
9b79ebd000
commit
a052340703
|
@ -55,7 +55,7 @@ module Exploit::Remote::SunRPC
|
|||
end
|
||||
|
||||
ret = rpcobj.create
|
||||
return print_error("#{rhost} - No response to SunRPC PortMap request") unless ret
|
||||
return print_error("#{rhost} - No response to SunRPC PortMap request") unless ret
|
||||
|
||||
arr = XDR.decode!(ret, Integer, Integer, Integer, String, Integer, Integer)
|
||||
if arr[1] != MSG_ACCEPTED || arr[4] != SUCCESS || arr[5] == 0
|
||||
|
@ -75,7 +75,8 @@ module Exploit::Remote::SunRPC
|
|||
|
||||
arr = Rex::Encoder::XDR.decode!(ret, Integer, Integer, Integer, String, Integer)
|
||||
if arr[1] != MSG_ACCEPTED || arr[4] != SUCCESS
|
||||
err = "SunRPC call for program #{program} [#{progresolv(program)}], procedure #{procedure}, failed: "
|
||||
progname = progresolv(rpcobj.program)
|
||||
err = "SunRPC call for program #{rpcobj.program} [#{progname}], procedure #{proc}, failed: "
|
||||
case arr[4]
|
||||
when PROG_UMAVAIL then err << "Program Unavailable"
|
||||
when PROG_MISMATCH then err << "Program Version Mismatch"
|
||||
|
@ -103,10 +104,11 @@ module Exploit::Remote::SunRPC
|
|||
|
||||
# XXX: Incomplete. Just moved from Rex::Proto::SunRPC::Client
|
||||
def portmap_qry()
|
||||
ret = portmap_req()
|
||||
ret = portmap_req()
|
||||
arr = Rex::Encoder::XDR.decode!(ret, Integer, Integer, Integer, String, Integer)
|
||||
if arr[1] != MSG_ACCEPTED || arr[4] != SUCCESS || arr[5] == 0
|
||||
err = "SunRPC call for program #{program} [#{progresolv(program)}], procedure #{procedure}, failed: "
|
||||
progname = progresolv(rpcobj.program)
|
||||
err = "SunRPC query for program #{rpcobj.program} [#{progname}] failed: "
|
||||
case arr[4]
|
||||
when PROG_UMAVAIL then err << "Program Unavailable"
|
||||
when PROG_MISMATCH then err << "Program Version Mismatch"
|
||||
|
@ -121,7 +123,7 @@ module Exploit::Remote::SunRPC
|
|||
end
|
||||
|
||||
def progresolv(number)
|
||||
names = File.join(Msf::Config.install_root, "data", "wordlists", "rpc_names.txt")
|
||||
names = File.join(Msf::Config.install_root, "data", "wordlists", "rpc_names.txt")
|
||||
File.open(names,"r").each_line do |line|
|
||||
next if line.empty? || line =~ /^\s*#/
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ class Client
|
|||
end
|
||||
|
||||
send_rpc(@call_sock, buf)
|
||||
recv_rpc(@call_sock, timeout)
|
||||
recv_rpc(@call_sock, timeout)
|
||||
end
|
||||
|
||||
def destroy
|
||||
|
|
Loading…
Reference in New Issue