Msf::Exploit::Remote::HttpServer print_* fix

Exploit::Remote::HttpServer and every descendant utilizes the
print_prefix method which checks whether the module which mixes in
these modules is aggressive. This is done in a proc context most
of the time since its a callback on the underlying Rex HTTP server.

When modules do not define :aggressive? the resulting exceptions
are quietly swallowed, and requestors get an empty response as the
client object dies off.

Add check for response to :aggressive? in :print_prefix to address
this issue.
bug/bundler_fix
RageLtMan 2016-02-21 20:20:22 -05:00
parent b868f7cc89
commit d7ba37d2e6
1 changed files with 1 additions and 1 deletions

View File

@ -73,7 +73,7 @@ module Exploit::Remote::HttpServer
end
def print_prefix
if cli && !aggressive?
if cli && (respond_to?(:aggressive) && !aggressive?)
super + "#{cli.peerhost.ljust(16)} #{self.shortname} - "
else
super