diff --git a/plugins/dbms/mssqlserver/filesystem.py b/plugins/dbms/mssqlserver/filesystem.py index ef3f4c2ff..4712458d3 100644 --- a/plugins/dbms/mssqlserver/filesystem.py +++ b/plugins/dbms/mssqlserver/filesystem.py @@ -80,11 +80,6 @@ class Filesystem(GenericFilesystem): return chunkName - def unionReadFile(self, rFile): - errMsg = "Microsoft SQL Server does not support file reading " - errMsg += "with UNION query SQL injection technique" - raise sqlmapUnsupportedFeatureException(errMsg) - def stackedReadFile(self, rFile): infoMsg = "fetching file: '%s'" % rFile logger.info(infoMsg) diff --git a/plugins/dbms/mysql/filesystem.py b/plugins/dbms/mysql/filesystem.py index 1c3467c07..3f233ba36 100644 --- a/plugins/dbms/mysql/filesystem.py +++ b/plugins/dbms/mysql/filesystem.py @@ -25,7 +25,7 @@ class Filesystem(GenericFilesystem): def __init__(self): GenericFilesystem.__init__(self) - def unionReadFile(self, rFile): + def nonStackedReadFile(self, rFile): infoMsg = "fetching file: '%s'" % rFile logger.info(infoMsg) @@ -61,7 +61,7 @@ class Filesystem(GenericFilesystem): if conf.direct or isTechniqueAvailable(PAYLOAD.TECHNIQUE.UNION): warnMsg += ", going to fall-back to simpler UNION technique" logger.warn(warnMsg) - result = self.unionReadFile(rFile) + result = self.nonStackedReadFile(rFile) else: raise sqlmapNoneDataException, warnMsg else: diff --git a/plugins/dbms/postgresql/filesystem.py b/plugins/dbms/postgresql/filesystem.py index 2701d0660..d639abec3 100644 --- a/plugins/dbms/postgresql/filesystem.py +++ b/plugins/dbms/postgresql/filesystem.py @@ -20,11 +20,6 @@ class Filesystem(GenericFilesystem): GenericFilesystem.__init__(self) - def unionReadFile(self, rFile): - errMsg = "PostgreSQL does not support file reading with UNION " - errMsg += "query SQL injection technique" - raise sqlmapUnsupportedFeatureException, errMsg - def stackedReadFile(self, rFile): infoMsg = "fetching file: '%s'" % rFile logger.info(infoMsg) diff --git a/plugins/generic/filesystem.py b/plugins/generic/filesystem.py index b5cc76812..e236cc841 100644 --- a/plugins/generic/filesystem.py +++ b/plugins/generic/filesystem.py @@ -167,8 +167,8 @@ class Filesystem: return True - def unionReadFile(self, rFile): - errMsg = "'unionReadFile' method must be defined " + def nonStackedReadFile(self, rFile): + errMsg = "'nonStackedReadFile' method must be defined " errMsg += "into the specific DBMS plugin" raise sqlmapUndefinedMethod, errMsg @@ -202,7 +202,11 @@ class Filesystem: fileContent = self.stackedReadFile(rFile) elif Backend.isDbms(DBMS.MYSQL): - fileContent = self.unionReadFile(rFile) + debugMsg = "going to read the file with UNION query SQL " + debugMsg += "injection technique" + logger.debug(debugMsg) + + fileContent = self.nonStackedReadFile(rFile) else: errMsg = "none of the SQL injection techniques detected can " errMsg += "be used to read files from the underlying file "