diff --git a/lib/core/common.py b/lib/core/common.py index cbf6ec9a9..f8b1db1bc 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -880,6 +880,14 @@ def sanitizeAsciiString(string): def decloakToNamedTemporaryFile(filepath, name=None): retVal = NamedTemporaryFile() + def __del__(): + try: + if hasattr(retVal, 'old_name'): + retVal.name = old_name + retVal.close() + except OSError: + pass + retVal.__del__ = __del__ retVal.write(decloak(filepath)) retVal.seek(0) if name: diff --git a/lib/takeover/web.py b/lib/takeover/web.py index a95e34347..9043db6ce 100644 --- a/lib/takeover/web.py +++ b/lib/takeover/web.py @@ -162,6 +162,9 @@ class Web: uploaderName = "uploader.%s" % self.webApi uploaderContent = decloak(os.path.join(paths.SQLMAP_SHELL_PATH, uploaderName + '_')) + import pdb + pdb.set_trace() + for directory in directories: # Upload the uploader agent outFile = os.path.normpath("%s/%s" % (directory, uploaderName)) @@ -200,5 +203,3 @@ class Web: logger.info(infoMsg) break - - backdoorStream.name = backdoorStream.old_name