mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2026-01-24 15:19:04 +00:00
Fixes #4510
This commit is contained in:
@@ -26,7 +26,7 @@ class MSSQLBannerHandler(ContentHandler):
|
||||
def __init__(self, banner, info):
|
||||
ContentHandler.__init__(self)
|
||||
|
||||
self._banner = sanitizeStr(banner)
|
||||
self._banner = sanitizeStr(banner or "")
|
||||
self._inVersion = False
|
||||
self._inServicePack = False
|
||||
self._release = None
|
||||
@@ -62,7 +62,7 @@ class MSSQLBannerHandler(ContentHandler):
|
||||
def endElement(self, name):
|
||||
if name == "signature":
|
||||
for version in (self._version, self._versionAlt):
|
||||
if version and re.search(r" %s[\.\ ]+" % re.escape(version), self._banner):
|
||||
if version and self._banner and re.search(r" %s[\.\ ]+" % re.escape(version), self._banner):
|
||||
self._feedInfo("dbmsRelease", self._release)
|
||||
self._feedInfo("dbmsVersion", self._version)
|
||||
self._feedInfo("dbmsServicePack", self._servicePack)
|
||||
|
||||
@@ -20,7 +20,7 @@ class FingerprintHandler(ContentHandler):
|
||||
def __init__(self, banner, info):
|
||||
ContentHandler.__init__(self)
|
||||
|
||||
self._banner = sanitizeStr(banner)
|
||||
self._banner = sanitizeStr(banner or "")
|
||||
self._regexp = None
|
||||
self._match = None
|
||||
self._dbmsVersion = None
|
||||
@@ -47,7 +47,7 @@ class FingerprintHandler(ContentHandler):
|
||||
self._regexp = sanitizeStr(attrs.get("value"))
|
||||
_ = re.match(r"\A[A-Za-z0-9]+", self._regexp) # minor trick avoiding compiling of large amount of regexes
|
||||
|
||||
if _ and _.group(0).lower() in self._banner.lower() or not _:
|
||||
if _ and self._banner and _.group(0).lower() in self._banner.lower() or not _:
|
||||
self._match = re.search(self._regexp, self._banner, re.I | re.M)
|
||||
else:
|
||||
self._match = None
|
||||
|
||||
Reference in New Issue
Block a user