diff --git a/lib/takeover/metasploit.py b/lib/takeover/metasploit.py index a52772d86..165914ddd 100644 --- a/lib/takeover/metasploit.py +++ b/lib/takeover/metasploit.py @@ -509,17 +509,22 @@ class Metasploit: if not initialized: match = re.search("session ([\d]+) opened", out) + if match: - initialized = True self._loadMetExtensions(proc, match.group(1)) + if "shell" in self.payloadStr: send_all(proc, "whoami\n" if Backend.isOs(OS.WINDOWS) else "uname -a ; id\n") - if conf.liveTest: time.sleep(2) + + if conf.liveTest: send_all(proc, "exit\n") + + initialized = True + elif time.time() - start_time > METASPLOIT_SESSION_TIMEOUT: proc.kill() - errMsg = "Timeout occurred while attempting " + errMsg = "timeout occurred while attempting " errMsg += "to open a remote session" raise SqlmapGenericException(errMsg)