mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-25 19:13:48 +03:00
Patch for #4419
This commit is contained in:
parent
c5a5717add
commit
97b7dc585c
|
@ -18,7 +18,7 @@ from lib.core.enums import OS
|
||||||
from thirdparty.six import unichr as _unichr
|
from thirdparty.six import unichr as _unichr
|
||||||
|
|
||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||||
VERSION = "1.4.11.1"
|
VERSION = "1.4.11.2"
|
||||||
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
||||||
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
||||||
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
||||||
|
|
|
@ -12,6 +12,7 @@ import time
|
||||||
|
|
||||||
from lib.core.agent import agent
|
from lib.core.agent import agent
|
||||||
from lib.core.bigarray import BigArray
|
from lib.core.bigarray import BigArray
|
||||||
|
from lib.core.common import applyFunctionRecursively
|
||||||
from lib.core.common import Backend
|
from lib.core.common import Backend
|
||||||
from lib.core.common import calculateDeltaSeconds
|
from lib.core.common import calculateDeltaSeconds
|
||||||
from lib.core.common import cleanQuery
|
from lib.core.common import cleanQuery
|
||||||
|
@ -505,6 +506,26 @@ def getValue(expression, blind=True, union=True, error=True, time=True, fromUser
|
||||||
warnMsg += "or switch '--hex'" if hasattr(queries[Backend.getIdentifiedDbms()], "hex") else ""
|
warnMsg += "or switch '--hex'" if hasattr(queries[Backend.getIdentifiedDbms()], "hex") else ""
|
||||||
singleTimeWarnMessage(warnMsg)
|
singleTimeWarnMessage(warnMsg)
|
||||||
|
|
||||||
|
# Dirty patch (MSSQL --binary-fields with 0x31003200...)
|
||||||
|
if Backend.isDbms(DBMS.MSSQL) and conf.binaryFields:
|
||||||
|
def _(value):
|
||||||
|
if isinstance(value, six.text_type):
|
||||||
|
if value.startswith(u"0x"):
|
||||||
|
value = value[2:]
|
||||||
|
if value and len(value) % 4 == 0:
|
||||||
|
candidate = ""
|
||||||
|
for i in xrange(len(value)):
|
||||||
|
if i % 4 < 2:
|
||||||
|
candidate += value[i]
|
||||||
|
elif value[i] != '0':
|
||||||
|
candidate = None
|
||||||
|
break
|
||||||
|
if candidate:
|
||||||
|
value = candidate
|
||||||
|
return value
|
||||||
|
|
||||||
|
value = applyFunctionRecursively(value, _)
|
||||||
|
|
||||||
# Dirty patch (safe-encoded unicode characters)
|
# Dirty patch (safe-encoded unicode characters)
|
||||||
if isinstance(value, six.text_type) and "\\x" in value:
|
if isinstance(value, six.text_type) and "\\x" in value:
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user