Skip to content

Commit 8ddd7a4

Browse files
committed
Fix session removal code, prevent missing transport param fail
1 parent 919b96e commit 8ddd7a4

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

lib/rex/post/meterpreter/client_core.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,11 @@ def shutdown
558558
# Indicates if the given transport is a valid transport option.
559559
#
560560
def valid_transport?(transport)
561-
VALID_TRANSPORTS.has_key?(transport.downcase)
561+
if transport
562+
VALID_TRANSPORTS.has_key?(transport.downcase)
563+
else
564+
false
565+
end
562566
end
563567

564568
private

lib/rex/post/meterpreter/packet_dispatcher.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ def initialize_passive_dispatcher
7979

8080
def shutdown_passive_dispatcher
8181
return if not self.passive_service
82-
self.passive_service.remove_resource(self.conn_id + "/")
82+
resource = self.conn_id
83+
resource += "/" unless resource.end_with?("/")
84+
self.passive_service.remove_resource(resource)
8385

8486
# If there are no more resources registered on the service, stop it entirely
8587
if self.passive_service.resources.empty?

lib/rex/post/meterpreter/ui/console/command_dispatcher/core.rb

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,10 +281,6 @@ def cmd_detach_help
281281
# Disconnects the session
282282
#
283283
def cmd_detach(*args)
284-
if not client.passive_service
285-
print_error("Detach is only possible for non-stream sessions (http/https)")
286-
return
287-
end
288284
client.shutdown_passive_dispatcher
289285
shell.stop
290286
end

0 commit comments

Comments
 (0)