Nuuo mixin handle connection errors
parent
aba88243d7
commit
acf7e58e8e
|
@ -43,7 +43,8 @@ module Exploit::Remote::Nuuo
|
|||
host: datastore['RHOST'],
|
||||
username: datastore['NCSUSER'],
|
||||
password: datastore['NCSPASS'],
|
||||
user_session: datastore['NCSSESSION']
|
||||
user_session: datastore['NCSSESSION'],
|
||||
context: { 'Msf' => framework, 'MsfExploit' => self }
|
||||
})
|
||||
|
||||
client.close if self.client && global
|
||||
|
@ -72,15 +73,29 @@ module Exploit::Remote::Nuuo
|
|||
print_status("Request:\r\n#{req.to_s}")
|
||||
end
|
||||
|
||||
begin
|
||||
conn = temp ? client.connect(temp: temp) : nil
|
||||
res = client.send_recv(req, conn)
|
||||
conn.shutdown if conn
|
||||
if conn && temp
|
||||
conn.shutdown
|
||||
conn.close
|
||||
end
|
||||
|
||||
if datastore['NCSTRACE'] && res
|
||||
print_status("Response:\r\n#{res.to_s}")
|
||||
end
|
||||
|
||||
res
|
||||
rescue ::Errno::EPIPE, ::Timeout::Error => e
|
||||
print_line(e.message) if datastore['NCSTRACE']
|
||||
nil
|
||||
rescue Rex::ConnectionError => e
|
||||
vprint_error(e.to_s)
|
||||
nil
|
||||
rescue ::Exception => e
|
||||
print_line(e.message) if datastore['NCSTRACE']
|
||||
raise e
|
||||
end
|
||||
end
|
||||
|
||||
def ncs_login
|
||||
|
|
Loading…
Reference in New Issue