This commit is contained in:
Miroslav Štampar
2026-09-08 22:10:57 +02:00
parent d486742eec
commit 604c5bc111
2 changed files with 11 additions and 1 deletions
+10
View File
@@ -31,6 +31,7 @@ def buildHandler():
from lib.core.enums import CHARSET_TYPE
from lib.core.enums import EXPECTED
from lib.core.exception import SqlmapDataException
from lib.core.exception import SqlmapUnsupportedFeatureException
from lib.request.inject import checkBooleanExpression
from lib.request.inject import getValue
from plugins.generic.enumeration import Enumeration
@@ -53,6 +54,15 @@ def buildHandler():
# reuses what --columns already enumerated
self._scopeCache = {} # table -> resolved schema (see _scopeFor)
def __getattr__(self, name):
# this handler only mixes in Enumeration/Miscellaneous (read-only, boolean-oracle
# extraction); any DBMS-specific capability (--os-*/--file-*/--sql-shell/--udf-*/--reg-*/
# --cleanup) has no generic equivalent - fail cleanly instead of an AttributeError deep
# in action(). Leading underscore excluded so internal/dunder lookups behave normally.
if name.startswith("_"):
raise AttributeError(name)
raise SqlmapUnsupportedFeatureException("Esperanto does not support '%s' (DBMS-agnostic engine covers enumeration/dump only)" % name)
def _engine(self):
if self._esp is None:
# esperanto is a PURE boolean-oracle engine: every probe is one true/false
+1 -1
View File
@@ -20,7 +20,7 @@ from lib.core.enums import OS
from thirdparty import six
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.10.9.6"
VERSION = "1.10.9.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)