diff --git a/lib/core/common.py b/lib/core/common.py index ce75fa6a2..2db4e7ef9 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -644,7 +644,10 @@ def filePathToString(filePath): return strRepl -def singleTimeLogMessage(message, level, flag): +def singleTimeLogMessage(message, level=logging.WARN, flag=None): + if flag is None: + flag = hash(message) + if flag not in kb.singleLogFlags: kb.singleLogFlags.add(flag) logger.log(level, message) diff --git a/plugins/dbms/mysql/filesystem.py b/plugins/dbms/mysql/filesystem.py index 7c60a9f7e..e18e2b36a 100644 --- a/plugins/dbms/mysql/filesystem.py +++ b/plugins/dbms/mysql/filesystem.py @@ -7,6 +7,7 @@ Copyright (c) 2006-2011 sqlmap developers (http://sqlmap.sourceforge.net/) See the file 'doc/COPYING' for copying permission """ +from lib.core.common import singleTimeLogMessage from lib.core.common import randomStr from lib.core.data import conf from lib.core.data import kb @@ -94,6 +95,10 @@ class Filesystem(GenericFilesystem): if confirm: self.askCheckWrittenFile(wFile, dFile, fileType) + warnMsg = "expect junk characters inside the " + warnMsg += "file as a leftover from UNION query" + singleTimeLogMessage(warnMsg) + def stackedWriteFile(self, wFile, dFile, fileType, confirm=True): debugMsg = "creating a support table to write the hexadecimal " debugMsg += "encoded file to"