diff --git a/lib/core/settings.py b/lib/core/settings.py index e3b24cb8da9..d759ee0f136 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six # sqlmap version (...) -VERSION = "1.10.9.8" +VERSION = "1.10.9.9" 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) diff --git a/sqlmap.py b/sqlmap.py index cc0f139d859..d246d33778b 100755 --- a/sqlmap.py +++ b/sqlmap.py @@ -422,6 +422,14 @@ def main(): logger.critical(errMsg) raise SystemExit + elif "object is not callable" in excMsg and (sys._jit.is_enabled() if hasattr(sys, "_jit") else os.environ.get("PYTHON_JIT") == '1'): + errMsg = "there is a known issue when sqlmap is run with the experimental Python JIT compiler turned on, " + errMsg += "where a regular callable (e.g. built-in function) bogusly resolves to an unrelated object. " + errMsg += "Please turn it off (e.g. 'PYTHON_JIT=0') and try again " + errMsg += "(Reference: 'https://github.com/sqlmapproject/sqlmap/issues/6117')" + logger.critical(errMsg) + raise SystemExit + elif all(_ in excMsg for _ in ("Resource temporarily unavailable", "os.fork()", "dictionaryAttack")): errMsg = "there has been a problem while running the multiprocessing hash cracking. " errMsg += "Please rerun with option '--threads=1'"