From 1782bf8e649bf6efb0c63943f19934b57a8862cf Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Tue, 31 May 2016 10:49:34 +0200 Subject: [PATCH] Adding support for parsing ODBC/JDBC error messages --- lib/core/settings.py | 5 +++-- lib/request/basic.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index 2ae33b56b..c10e19d7d 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -19,7 +19,7 @@ from lib.core.enums import OS from lib.core.revision import getRevisionNumber # sqlmap version (...) -VERSION = "1.0.5.119" +VERSION = "1.0.5.120" REVISION = getRevisionNumber() STABLE = VERSION.count('.') <= 2 VERSION_STRING = "sqlmap/%s#%s" % (VERSION, "stable" if STABLE else "dev") @@ -290,9 +290,10 @@ FILE_PATH_REGEXES = (r" in (file )?(?P.*?) on line", r"(?:[>(\[\s # Regular expressions used for parsing error messages (--parse-errors) ERROR_PARSING_REGEXES = ( r"[^<]*(fatal|error|warning|exception)[^<]*:?\s*(?P.+?)", - r"(?m)^(fatal|error|warning|exception):?\s*(?P.+?)$", + r"(?m)^(fatal|error|warning|exception):?\s*(?P[^\n]+?)$", r"
  • Error Type:
    (?P.+?)
  • ", r"error '[0-9a-f]{8}'((<[^>]+>)|\s)+(?P[^<>]+)", + r"(?m)^\s*\[[^\n]+(ODBC|JDBC)[^\n]+\](?P[^\]]+in query expression[^\n]+)$" ) # Regular expression used for parsing charset info from meta html headers diff --git a/lib/request/basic.py b/lib/request/basic.py index 1667bb5d4..2ee5cceb4 100644 --- a/lib/request/basic.py +++ b/lib/request/basic.py @@ -335,7 +335,7 @@ def processResponse(page, responseHeaders): msg = extractErrorMessage(page) if msg: - logger.warning("parsed DBMS error message: '%s'" % msg) + logger.warning("parsed DBMS error message: '%s'" % msg.rstrip('.')) if kb.originalPage is None: for regex in (EVENTVALIDATION_REGEX, VIEWSTATE_REGEX):