mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-02-26 00:30:38 +03:00
Patch for sporadic --parse-errors in generic SQL errors (e.g. CrateDB)
This commit is contained in:
parent
db126af86a
commit
4278bbce11
|
@ -2703,6 +2703,12 @@ def extractErrorMessage(page):
|
||||||
retVal = candidate
|
retVal = candidate
|
||||||
break
|
break
|
||||||
|
|
||||||
|
if not retVal and wasLastResponseDBMSError():
|
||||||
|
match = re.search(r"[^\n]*SQL[^\n:]*:[^\n]*", page, re.IGNORECASE)
|
||||||
|
|
||||||
|
if match:
|
||||||
|
retVal = match.group(0)
|
||||||
|
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
def findLocalPort(ports):
|
def findLocalPort(ports):
|
||||||
|
|
|
@ -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.2.5"
|
VERSION = "1.4.2.6"
|
||||||
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)
|
||||||
|
|
|
@ -73,6 +73,10 @@ def htmlParser(page):
|
||||||
handler = HTMLHandler(page)
|
handler = HTMLHandler(page)
|
||||||
key = hash(page)
|
key = hash(page)
|
||||||
|
|
||||||
|
# generic SQL warning/error messages
|
||||||
|
if re.search(r"SQL (warning|error|syntax)", page, re.I):
|
||||||
|
handler._markAsErrorPage()
|
||||||
|
|
||||||
if key in kb.cache.parsedDbms:
|
if key in kb.cache.parsedDbms:
|
||||||
retVal = kb.cache.parsedDbms[key]
|
retVal = kb.cache.parsedDbms[key]
|
||||||
if retVal:
|
if retVal:
|
||||||
|
@ -89,8 +93,4 @@ def htmlParser(page):
|
||||||
|
|
||||||
kb.cache.parsedDbms[key] = handler.dbms
|
kb.cache.parsedDbms[key] = handler.dbms
|
||||||
|
|
||||||
# generic SQL warning/error messages
|
|
||||||
if re.search(r"SQL (warning|error|syntax)", page, re.I):
|
|
||||||
handler._markAsErrorPage()
|
|
||||||
|
|
||||||
return handler.dbms
|
return handler.dbms
|
||||||
|
|
Loading…
Reference in New Issue
Block a user