bug fix (AttributeError: 'unicode' object has no attribute 'sort')

This commit is contained in:
Miroslav Stampar 2010-12-22 18:55:50 +00:00
parent c1f2534e9a
commit 7c06dbffc3
3 changed files with 10 additions and 6 deletions

View File

@ -1833,3 +1833,8 @@ def initTechnique(technique=None):
warnMsg = "there is no injection data available for technique " warnMsg = "there is no injection data available for technique "
warnMsg += "'%s'" % enumValueToNameLookup(PAYLOAD.TECHNIQUE, technique) warnMsg += "'%s'" % enumValueToNameLookup(PAYLOAD.TECHNIQUE, technique)
logger.warn(warnMsg) logger.warn(warnMsg)
def arrayizeValue(value):
if not isinstance(value, list):
value = [value]
return value

View File

@ -8,6 +8,7 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import arrayizeValue
from lib.core.common import getRange from lib.core.common import getRange
from lib.core.common import isNumPosStrValue from lib.core.common import isNumPosStrValue
from lib.core.data import conf from lib.core.data import conf
@ -63,7 +64,7 @@ class Enumeration(GenericEnumeration):
value = inject.getValue(query, blind=False, error=False) value = inject.getValue(query, blind=False, error=False)
if value: if value:
kb.data.cachedTables[db] = value kb.data.cachedTables[db] = arrayizeValue(value)
if not kb.data.cachedTables and not conf.direct: if not kb.data.cachedTables and not conf.direct:
for db in dbs: for db in dbs:

View File

@ -11,6 +11,7 @@ import re
import time import time
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import arrayizeValue
from lib.core.common import dataToStdout from lib.core.common import dataToStdout
from lib.core.common import getRange from lib.core.common import getRange
from lib.core.common import getCompiledRegex from lib.core.common import getCompiledRegex
@ -158,7 +159,7 @@ class Enumeration:
value = inject.getValue(query, blind=False, error=False) value = inject.getValue(query, blind=False, error=False)
if value: if value:
kb.data.cachedUsers = value kb.data.cachedUsers = arrayizeValue(value)
if not kb.data.cachedUsers and not conf.direct: if not kb.data.cachedUsers and not conf.direct:
infoMsg = "fetching number of database users" infoMsg = "fetching number of database users"
@ -684,10 +685,7 @@ class Enumeration:
value = inject.getValue(query, blind=False, error=False) value = inject.getValue(query, blind=False, error=False)
if value: if value:
if isinstance(value, basestring): kb.data.cachedDbs = arrayizeValue(value)
kb.data.cachedDbs = [value]
else:
kb.data.cachedDbs = value
if not kb.data.cachedDbs and not conf.direct: if not kb.data.cachedDbs and not conf.direct:
infoMsg = "fetching number of databases" infoMsg = "fetching number of databases"