From 2a2d7e886d810e0e03324cc85a9e2f2dc4dd59b6 Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Fri, 11 Jan 2013 10:52:03 +0000 Subject: [PATCH 1/3] align to MSSQL connector --- plugins/dbms/sybase/connector.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/plugins/dbms/sybase/connector.py b/plugins/dbms/sybase/connector.py index b490eec72..203aa7053 100644 --- a/plugins/dbms/sybase/connector.py +++ b/plugins/dbms/sybase/connector.py @@ -51,24 +51,31 @@ class Connector(GenericConnector): try: return self.cursor.fetchall() except (pymssql.ProgrammingError, pymssql.OperationalError, _mssql.MssqlDatabaseException), msg: - logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % msg) + logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % str(msg).replace("\n", " ")) return None def execute(self, query): + retVal = False + try: self.cursor.execute(utf8encode(query)) + retVal = True except (pymssql.OperationalError, pymssql.ProgrammingError), msg: - logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % msg) + logger.log(logging.WARN if conf.dbmsHandler else logging.DEBUG, "(remote) %s" % str(msg).replace("\n", " ")) except pymssql.InternalError, msg: raise SqlmapConnectionException(msg) + return retVal + def select(self, query): - self.execute(query) - value = self.fetchall() + retVal = None - try: - self.connector.commit() - except pymssql.OperationalError: - pass + if self.execute(query): + retVal = self.fetchall() - return value + try: + self.connector.commit() + except pymssql.OperationalError: + pass + + return retVal From 41834e7a5b4c32f4301f45de0dc6f8a34c844311 Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Fri, 11 Jan 2013 13:31:44 +0000 Subject: [PATCH 2/3] working on #8 - still not usable though --- lib/core/dump.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/core/dump.py b/lib/core/dump.py index 688e23718..be87723ba 100644 --- a/lib/core/dump.py +++ b/lib/core/dump.py @@ -37,6 +37,8 @@ from lib.core.settings import TRIM_STDOUT_DUMP_SIZE from lib.core.settings import UNICODE_ENCODING from thirdparty.magic import magic +from extra.safe2bin.safe2bin import safechardecode + class Dump(object): """ This class defines methods used to parse and output the results @@ -479,13 +481,11 @@ class Dump(object): self._write("| %s%s" % (value, blank), newline=False, console=console) #if len(value) > 10 and r'\x' in value: - #mimetype = magic.from_buffer(value, mime=True) - #if mimetype.startswith("application") or mimetype.startswith("image"): - #with open("%s%s%s" % (dumpDbPath, os.sep, "%s-%d.bin" % (column, randomInt(8))), "wb") as f: - #from extra.safe2bin.safe2bin import safechardecode - #_ = _.encode(UNICODE_ENCODING) - #_ = safechardecode(value) - #f.write(_) + # mimetype = magic.from_buffer(value, mime=True) + # if mimetype.startswith("application") or mimetype.startswith("image"): + # with codecs.open("%s%s%s" % (dumpDbPath, os.sep, "%s-%d.bin" % (column, randomInt(8))), "wb", UNICODE_ENCODING) as f: + # _ = safechardecode(value) + # f.write(_) if conf.dumpFormat == DUMP_FORMAT.CSV: if field == fields: From 327db5458d0f8a6f77839d1dbd69f78976882075 Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Fri, 11 Jan 2013 15:15:58 +0000 Subject: [PATCH 3/3] 755 is ok for the main files - issue #333 --- sqlmap.py | 0 sqlmapapi.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 sqlmap.py mode change 100644 => 100755 sqlmapapi.py diff --git a/sqlmap.py b/sqlmap.py old mode 100644 new mode 100755 diff --git a/sqlmapapi.py b/sqlmapapi.py old mode 100644 new mode 100755