This commit is contained in:
Miroslav Stampar 2019-06-27 01:48:35 +02:00
parent 580dc2a4e2
commit c938d77be9
2 changed files with 24 additions and 18 deletions

View File

@ -3129,6 +3129,9 @@ def isDBMSVersionAtLeast(minimum):
False
>>> isDBMSVersionAtLeast("1.5")
True
>>> kb.dbmsVersion = "MySQL 5.4.3-log4"
>>> isDBMSVersionAtLeast("5")
True
>>> kb.dbmsVersion = popValue()
"""
@ -3137,11 +3140,6 @@ def isDBMSVersionAtLeast(minimum):
if not any(isNoneValue(_) for _ in (Backend.getVersion(), minimum)) and Backend.getVersion() != UNKNOWN_DBMS_VERSION:
version = Backend.getVersion().replace(" ", "").rstrip('.')
if '.' in version:
parts = version.split('.', 1)
parts[1] = filterStringValue(parts[1], '[0-9]')
version = '.'.join(parts)
correction = 0.0
if ">=" in version:
pass
@ -3150,23 +3148,31 @@ def isDBMSVersionAtLeast(minimum):
elif '<' in version:
correction = -VERSION_COMPARISON_CORRECTION
version = float(filterStringValue(version, '[0-9.]')) + correction
version = extractRegexResult(r"(?P<result>[0-9][0-9.]*)", version)
if isinstance(minimum, six.string_types):
if '.' in minimum:
parts = minimum.split('.', 1)
if version:
if '.' in version:
parts = version.split('.', 1)
parts[1] = filterStringValue(parts[1], '[0-9]')
minimum = '.'.join(parts)
version = '.'.join(parts)
correction = 0.0
if minimum.startswith(">="):
pass
elif minimum.startswith(">"):
correction = VERSION_COMPARISON_CORRECTION
version = float(filterStringValue(version, '[0-9.]')) + correction
minimum = float(filterStringValue(minimum, '[0-9.]')) + correction
if isinstance(minimum, six.string_types):
if '.' in minimum:
parts = minimum.split('.', 1)
parts[1] = filterStringValue(parts[1], '[0-9]')
minimum = '.'.join(parts)
retVal = version >= minimum
correction = 0.0
if minimum.startswith(">="):
pass
elif minimum.startswith(">"):
correction = VERSION_COMPARISON_CORRECTION
minimum = float(filterStringValue(minimum, '[0-9.]')) + correction
retVal = version >= minimum
return retVal

View File

@ -18,7 +18,7 @@ from lib.core.enums import OS
from thirdparty.six import unichr as _unichr
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.3.6.55"
VERSION = "1.3.6.56"
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
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)