diff --git a/lib/core/settings.py b/lib/core/settings.py index f4da0b0a0..84cc405c5 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.6.6.6" +VERSION = "1.6.6.7" 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/lib/utils/sqlalchemy.py b/lib/utils/sqlalchemy.py index 9f1af0028..be67316d8 100644 --- a/lib/utils/sqlalchemy.py +++ b/lib/utils/sqlalchemy.py @@ -5,7 +5,7 @@ Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ -import imp +import importlib import logging import os import re @@ -13,15 +13,18 @@ import sys import traceback import warnings +_path = list(sys.path) _sqlalchemy = None try: - f, pathname, desc = imp.find_module("sqlalchemy", sys.path[1:]) - _ = imp.load_module("sqlalchemy", f, pathname, desc) - if hasattr(_, "dialects"): - _sqlalchemy = _ + sys.path = sys.path[1:] + module = importlib.import_module("sqlalchemy") + if hasattr(module, "dialects"): + _sqlalchemy = module warnings.simplefilter(action="ignore", category=_sqlalchemy.exc.SAWarning) except ImportError: pass +finally: + sys.path = _path try: import MySQLdb # used by SQLAlchemy in case of MySQL diff --git a/sqlmap.py b/sqlmap.py index 500e888ff..7c7e14ebd 100755 --- a/sqlmap.py +++ b/sqlmap.py @@ -36,7 +36,10 @@ try: warnings.filterwarnings(action="ignore", category=DeprecationWarning) else: warnings.resetwarnings() - warnings.simplefilter("ignore", category=ResourceWarning, append=1) + warnings.filterwarnings(action="ignore", message="'crypt'", category=DeprecationWarning) + warnings.simplefilter("ignore", category=ImportWarning) + if sys.version_info >= (3, 0): + warnings.simplefilter("ignore", category=ResourceWarning) warnings.filterwarnings(action="ignore", message="Python 2 is no longer supported") warnings.filterwarnings(action="ignore", message=".*was already imported", category=UserWarning)