From d00e4a458a21999907d99c2f7463873d849f951a Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Sun, 21 Mar 2010 00:39:44 +0000 Subject: [PATCH] Code cleanup --- lib/controller/controller.py | 1 + lib/controller/handler.py | 6 +++--- lib/core/common.py | 8 ++++++-- lib/core/dump.py | 2 +- lib/core/option.py | 6 +++--- lib/core/update.py | 1 - lib/takeover/metasploit.py | 1 - lib/takeover/registry.py | 1 - lib/takeover/udf.py | 6 +++--- lib/utils/google.py | 5 ++--- 10 files changed, 19 insertions(+), 18 deletions(-) diff --git a/lib/controller/controller.py b/lib/controller/controller.py index b7a7293ca..17a6be693 100644 --- a/lib/controller/controller.py +++ b/lib/controller/controller.py @@ -174,6 +174,7 @@ def start(): if __paramDict: conf.paramDict["Cookie"] = __paramDict + # TODO: consider the following line in __setRequestParams() __testableParameters = True if not kb.injPlace or not kb.injParameter or not kb.injType: diff --git a/lib/controller/handler.py b/lib/controller/handler.py index 7b591ed9e..213a7a8c2 100644 --- a/lib/controller/handler.py +++ b/lib/controller/handler.py @@ -68,12 +68,12 @@ def setHandler(): continue - dbmsHandler = dbmsEntry() + handler = dbmsEntry() - if dbmsHandler.checkDbms(): + if handler.checkDbms(): if not conf.dbms or conf.dbms in dbmsAliases: kb.dbmsDetected = True - return dbmsHandler + return handler return None diff --git a/lib/core/common.py b/lib/core/common.py index c1ec8270c..ef969effd 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -736,7 +736,7 @@ def getDelayQuery(andCond=False): else: query = queries[kb.dbms].timedelay2 % conf.timeSec - elif kb.dbms is "Firebird": + elif kb.dbms == "Firebird": query = queries[kb.dbms].timedelay else: query = queries[kb.dbms].timedelay % conf.timeSec @@ -744,7 +744,7 @@ def getDelayQuery(andCond=False): if andCond: if kb.dbms in ( "MySQL", "SQLite" ): query = query.replace("SELECT ", "") - elif kb.dbms is "Firebird": + elif kb.dbms == "Firebird": query = "(%s)>0" % query return query @@ -914,6 +914,7 @@ def sanitizeAsciiString(string): def decloakToNamedTemporaryFile(filepath, name=None): retVal = NamedTemporaryFile() + def __del__(): try: if hasattr(retVal, 'old_name'): @@ -921,12 +922,15 @@ def decloakToNamedTemporaryFile(filepath, name=None): retVal.close() except OSError: pass + retVal.__del__ = __del__ retVal.write(decloak(filepath)) retVal.seek(0) + if name: retVal.old_name = retVal.name retVal.name = name + return retVal def decloakToMkstemp(filepath, **kwargs): diff --git a/lib/core/dump.py b/lib/core/dump.py index 011bf3960..6bd3c291d 100644 --- a/lib/core/dump.py +++ b/lib/core/dump.py @@ -125,7 +125,7 @@ class Dump: print def dbColumns(self, dbColumns, colConsider, dbs): - for column, dbTables in dbColumns.items(): + for column in dbColumns.keys(): if colConsider == "1": colConsiderStr = "s like '" + column + "' were" else: diff --git a/lib/core/option.py b/lib/core/option.py index dc46e6119..009632b26 100644 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -632,9 +632,9 @@ def __setHTTPAuthentication(): key_file = os.path.expanduser(aCertRegExp.group(1)) cert_file = os.path.expanduser(aCertRegExp.group(2)) - for file in (key_file, cert_file): - if not os.path.exists(file): - errMsg = "File '%s' doesn't exist" % file + for ifile in (key_file, cert_file): + if not os.path.exists(ifile): + errMsg = "File '%s' does not exist" % ifile raise sqlmapSyntaxException, errMsg authHandler = HTTPSCertAuthHandler(key_file, cert_file) diff --git a/lib/core/update.py b/lib/core/update.py index 5e8ad1331..837164e16 100644 --- a/lib/core/update.py +++ b/lib/core/update.py @@ -47,7 +47,6 @@ from lib.core.data import paths from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapFilePathException from lib.core.settings import MSSQL_VERSIONS_URL -from lib.core.settings import VERSION from lib.request.connect import Connect as Request def __updateMSSQLXML(): diff --git a/lib/takeover/metasploit.py b/lib/takeover/metasploit.py index 38a0bcac2..075ec2c02 100644 --- a/lib/takeover/metasploit.py +++ b/lib/takeover/metasploit.py @@ -32,7 +32,6 @@ from select import select from subprocess import PIPE from subprocess import Popen as execute -from lib.core.agent import agent from lib.core.common import dataToStdout from lib.core.common import getLocalIP from lib.core.common import getRemoteIP diff --git a/lib/takeover/registry.py b/lib/takeover/registry.py index 4230d0d85..2191b52ac 100644 --- a/lib/takeover/registry.py +++ b/lib/takeover/registry.py @@ -26,7 +26,6 @@ import os from lib.core.common import randomStr from lib.core.data import conf -from lib.core.data import kb from lib.core.data import logger class Registry: diff --git a/lib/takeover/udf.py b/lib/takeover/udf.py index f8bfc7cee..c155bcf03 100644 --- a/lib/takeover/udf.py +++ b/lib/takeover/udf.py @@ -139,7 +139,7 @@ class UDF: errMsg = "udfSetLocalPaths() method must be defined within the plugin" raise sqlmapUnsupportedFeatureException(errMsg) - def udfCreateFromSharedLib(self): + def udfCreateFromSharedLib(self, udf=None, inpRet=None): errMsg = "udfCreateFromSharedLib() method must be defined within the plugin" raise sqlmapUnsupportedFeatureException(errMsg) @@ -182,7 +182,7 @@ class UDF: self.checkDbmsOs() - if self.isDba() == False: + if not self.isDba(): warnMsg = "the functionality requested might not work because " warnMsg += "the session user is not a database administrator" logger.warn(warnMsg) @@ -317,7 +317,7 @@ class UDF: udfList = [] msg = "which UDF do you want to call?" - for udf, inpRet in self.udfs.items(): + for udf in self.udfs.keys(): udfList.append(udf) msg += "\n[%d] %s" % (len(udfList), udf) diff --git a/lib/utils/google.py b/lib/utils/google.py index a77bbd7f1..1c4671700 100644 --- a/lib/utils/google.py +++ b/lib/utils/google.py @@ -39,11 +39,10 @@ class Google: line option '-g ' """ - def __init__(self, proxyHandler): - self.__googleCookie = None + def __init__(self, proxy): self.__matches = [] self.__cj = cookielib.LWPCookieJar() - self.opener = urllib2.build_opener(proxyHandler, urllib2.HTTPCookieProcessor(self.__cj)) + self.opener = urllib2.build_opener(proxy, urllib2.HTTPCookieProcessor(self.__cj)) self.opener.addheaders = conf.httpHeaders def __parsePage(self, page):