From a555d1ad68a12853c51debb1b5cb6f63ee15ee69 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sun, 26 Dec 2010 11:15:02 +0000 Subject: [PATCH] minor improvement --- lib/core/common.py | 6 +++++- lib/techniques/brute/use.py | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/core/common.py b/lib/core/common.py index 4f05fa90b..2c537585a 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -1355,7 +1355,7 @@ def initCommonOutputs(): cfile.close() -def getFileItems(filename, commentPrefix='#', unicode_=True): +def getFileItems(filename, commentPrefix='#', unicode_=True, lowercase=False, unique=False): retVal = [] checkFile(filename) @@ -1376,6 +1376,10 @@ def getFileItems(filename, commentPrefix='#', unicode_=True): except UnicodeDecodeError: continue if line: + if lowercase: + line = line.lower() + if unique and line in retVal: + continue retVal.append(line) return retVal diff --git a/lib/techniques/brute/use.py b/lib/techniques/brute/use.py index af0bfd1ba..dfca36c4b 100644 --- a/lib/techniques/brute/use.py +++ b/lib/techniques/brute/use.py @@ -21,13 +21,14 @@ from lib.core.common import safeStringFormat from lib.core.data import conf from lib.core.data import kb from lib.core.data import logger +from lib.core.enums import DBMS from lib.core.exception import sqlmapMissingMandatoryOptionException from lib.core.exception import sqlmapThreadException from lib.core.settings import METADB_SUFFIX from lib.request import inject def tableExists(tableFile): - tables = getFileItems(tableFile) + tables = getFileItems(tableFile, lowercase=kb.dbms in (DBMS.ACCESS), unique=True) tableSet = set(tables) retVal = [] infoMsg = "checking table existence using items from '%s'" % tableFile @@ -133,7 +134,7 @@ def columnExists(columnFile): errMsg = "missing table parameter" raise sqlmapMissingMandatoryOptionException, errMsg - columns = getFileItems(columnFile) + columns = getFileItems(columnFile, unique=True) if conf.db and not conf.db.endswith(METADB_SUFFIX): table = "%s.%s" % (conf.db, conf.tbl) else: