This works around a blocking problem encountered with recv_telnet(). Don't hang around trying to recv when we've already got a password prompt or a success/fail response.

git-svn-id: file:///home/svn/framework3/trunk@10590 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
Tod Beardsley 2010-10-08 00:48:24 +00:00
parent 840824e3e8
commit b5fe64aca2
1 changed files with 3 additions and 2 deletions

View File

@ -159,9 +159,10 @@ class Metasploit3 < Msf::Auxiliary
send_user(user)
end
recvd_sample = @recvd.dup
# Allow for slow echos
1.upto(10) do
recv_telnet(self.sock, 0.10)
recv_telnet(self.sock, 0.10) unless @recvd.nil? or @recvd[/#{@password_prompt}/]
end
vprint_status("#{rhost}:#{rport} Prompt: #{@recvd.gsub(/[\r\n\e\b\a]/, ' ')}")
@ -171,7 +172,7 @@ class Metasploit3 < Msf::Auxiliary
# Allow for slow echos
1.upto(10) do
recv_telnet(self.sock, 0.10)
recv_telnet(self.sock, 0.10) if @recvd == recvd_sample
end