From e76995bd6a15acee16481d39585ddc3018a6d7af Mon Sep 17 00:00:00 2001 From: Maxim Karasev <begs@disroot.org> Date: Sat, 6 Aug 2022 20:44:51 +0300 Subject: [PATCH] reduce amount of third party dependencies --- lib/controller/checks.py | 4 ++-- lib/core/agent.py | 2 +- lib/core/common.py | 26 ++++++++++++------------- lib/core/convert.py | 6 +++--- lib/core/datatype.py | 4 ++-- lib/core/dump.py | 4 ++-- lib/core/gui.py | 10 +++++----- lib/core/option.py | 12 ++++++------ lib/core/patch.py | 8 ++++---- lib/core/settings.py | 4 ++-- lib/core/target.py | 6 +++--- lib/core/update.py | 2 +- lib/core/wordlist.py | 2 +- lib/parse/cmdline.py | 2 +- lib/parse/sitemap.py | 2 +- lib/request/basic.py | 10 +++++----- lib/request/basicauthhandler.py | 2 +- lib/request/chunkedhandler.py | 2 +- lib/request/comparison.py | 2 +- lib/request/connect.py | 10 +++++----- lib/request/httpshandler.py | 4 ++-- lib/request/inject.py | 2 +- lib/request/methodrequest.py | 2 +- lib/request/pkihandler.py | 4 ++-- lib/request/rangehandler.py | 2 +- lib/request/redirecthandler.py | 4 ++-- lib/takeover/abstraction.py | 2 +- lib/takeover/metasploit.py | 2 +- lib/takeover/web.py | 2 +- lib/techniques/error/use.py | 2 +- lib/techniques/union/use.py | 4 ++-- lib/utils/api.py | 24 +++++++++++------------ lib/utils/crawler.py | 8 ++++---- lib/utils/har.py | 4 ++-- lib/utils/hash.py | 10 +++++----- lib/utils/hashdb.py | 2 +- lib/utils/httpd.py | 10 +++++----- lib/utils/pivotdumptable.py | 2 +- lib/utils/purge.py | 2 +- lib/utils/search.py | 4 ++-- lib/utils/sqlalchemy.py | 2 +- plugins/dbms/maxdb/enumeration.py | 4 ++-- plugins/dbms/mssqlserver/enumeration.py | 2 +- plugins/dbms/sybase/enumeration.py | 4 ++-- plugins/generic/custom.py | 2 +- plugins/generic/databases.py | 2 +- plugins/generic/entries.py | 4 ++-- plugins/generic/search.py | 2 +- plugins/generic/users.py | 2 +- thirdparty/multipart/multipartpost.py | 2 +- 50 files changed, 121 insertions(+), 121 deletions(-) diff --git a/sqlmap/lib/controller/checks.py b/sqlmap/lib/controller/checks.py index 186a0fd..3a232d2 100644 --- a/sqlmap/lib/controller/checks.py +++ b/sqlmap/lib/controller/checks.py @@ -102,8 +102,8 @@ from lib.request.inject import checkBooleanExpression from lib.request.templates import getPageTemplate from lib.techniques.union.test import unionTest from lib.techniques.union.use import configUnion -from thirdparty import six -from thirdparty.six.moves import http_client as _http_client +import six +from six.moves import http_client as _http_client def checkSqlInjection(place, parameter, value): # Store here the details about boundaries and payload used to diff --git a/sqlmap/lib/core/agent.py b/sqlmap/lib/core/agent.py index 81d24e8..c79381c 100644 --- a/sqlmap/lib/core/agent.py +++ b/sqlmap/lib/core/agent.py @@ -58,7 +58,7 @@ from lib.core.settings import SINGLE_QUOTE_MARKER from lib.core.settings import SLEEP_TIME_MARKER from lib.core.settings import UNICODE_ENCODING from lib.core.unescaper import unescaper -from thirdparty import six +import six class Agent(object): """ diff --git a/sqlmap/lib/core/common.py b/sqlmap/lib/core/common.py index d741fad..0e5f0d8 100644 --- a/sqlmap/lib/core/common.py +++ b/sqlmap/lib/core/common.py @@ -188,21 +188,21 @@ from lib.core.settings import WEBSCARAB_SPLITTER from lib.core.threads import getCurrentThreadData from lib.utils.safe2bin import safecharencode from lib.utils.sqlalchemy import _sqlalchemy -from thirdparty import six +import six from thirdparty.clientform.clientform import ParseResponse from thirdparty.clientform.clientform import ParseError -from thirdparty.colorama.initialise import init as coloramainit -from thirdparty.magic import magic -from thirdparty.odict import OrderedDict -from thirdparty.six import unichr as _unichr -from thirdparty.six.moves import collections_abc as _collections -from thirdparty.six.moves import configparser as _configparser -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import input as _input -from thirdparty.six.moves import reload_module as _reload_module -from thirdparty.six.moves import urllib as _urllib -from thirdparty.six.moves import zip as _zip -from thirdparty.termcolor.termcolor import colored +from colorama.initialise import init as coloramainit +import magic +from collections import OrderedDict +from six import unichr as _unichr +from six.moves import collections_abc as _collections +from six.moves import configparser as _configparser +from six.moves import http_client as _http_client +from six.moves import input as _input +from six.moves import reload_module as _reload_module +from six.moves import urllib as _urllib +from six.moves import zip as _zip +from termcolor import colored class UnicodeRawConfigParser(_configparser.RawConfigParser): """ diff --git a/sqlmap/lib/core/convert.py b/sqlmap/lib/core/convert.py index 2a21112..fe6b69a 100644 --- a/sqlmap/lib/core/convert.py +++ b/sqlmap/lib/core/convert.py @@ -29,9 +29,9 @@ from lib.core.settings import NULL from lib.core.settings import PICKLE_PROTOCOL from lib.core.settings import SAFE_HEX_MARKER from lib.core.settings import UNICODE_ENCODING -from thirdparty import six -from thirdparty.six import unichr as _unichr -from thirdparty.six.moves import collections_abc as _collections +import six +from six import unichr as _unichr +from six.moves import collections_abc as _collections try: from html import escape as htmlEscape diff --git a/sqlmap/lib/core/datatype.py b/sqlmap/lib/core/datatype.py index 866b114..9a90ef6 100644 --- a/sqlmap/lib/core/datatype.py +++ b/sqlmap/lib/core/datatype.py @@ -9,8 +9,8 @@ import copy import threading import types -from thirdparty.odict import OrderedDict -from thirdparty.six.moves import collections_abc as _collections +from collections import OrderedDict +from six.moves import collections_abc as _collections class AttribDict(dict): """ diff --git a/sqlmap/lib/core/dump.py b/sqlmap/lib/core/dump.py index 42f713e..ce7e7e6 100644 --- a/sqlmap/lib/core/dump.py +++ b/sqlmap/lib/core/dump.py @@ -56,8 +56,8 @@ from lib.core.settings import UNSAFE_DUMP_FILEPATH_REPLACEMENT from lib.core.settings import VERSION_STRING from lib.core.settings import WINDOWS_RESERVED_NAMES from lib.utils.safe2bin import safechardecode -from thirdparty import six -from thirdparty.magic import magic +import six +import magic class Dump(object): """ diff --git a/sqlmap/lib/core/gui.py b/sqlmap/lib/core/gui.py index 00f98ee..ac37c9d 100644 --- a/sqlmap/lib/core/gui.py +++ b/sqlmap/lib/core/gui.py @@ -28,7 +28,7 @@ from lib.core.settings import GIT_PAGE from lib.core.settings import SITE from lib.core.settings import VERSION_STRING from lib.core.settings import WIKI_PAGE -from thirdparty.six.moves import queue as _queue +from six.moves import queue as _queue alive = None line = "" @@ -37,10 +37,10 @@ queue = None def runGui(parser): try: - from thirdparty.six.moves import tkinter as _tkinter - from thirdparty.six.moves import tkinter_scrolledtext as _tkinter_scrolledtext - from thirdparty.six.moves import tkinter_ttk as _tkinter_ttk - from thirdparty.six.moves import tkinter_messagebox as _tkinter_messagebox + from six.moves import tkinter as _tkinter + from six.moves import tkinter_scrolledtext as _tkinter_scrolledtext + from six.moves import tkinter_ttk as _tkinter_ttk + from six.moves import tkinter_messagebox as _tkinter_messagebox except ImportError as ex: raise SqlmapMissingDependence("missing dependence ('%s')" % getSafeExString(ex)) diff --git a/sqlmap/lib/core/log.py b/sqlmap/lib/core/log.py index 33e6a36..9f538d8 100644 --- a/sqlmap/lib/core/log.py +++ b/sqlmap/lib/core/log.py @@ -19,7 +19,7 @@ LOGGER = logging.getLogger("sqlmapLog") LOGGER_HANDLER = None try: - from thirdparty.ansistrm.ansistrm import ColorizingStreamHandler + from ansistrm.ansistrm import ColorizingStreamHandler class _ColorizingStreamHandler(ColorizingStreamHandler): def colorize(self, message, levelno, force=False): diff --git a/sqlmap/lib/core/option.py b/sqlmap/lib/core/option.py index ec67262..950ccdf 100644 --- a/sqlmap/lib/core/option.py +++ b/sqlmap/lib/core/option.py @@ -150,13 +150,13 @@ from lib.utils.deps import checkDependencies from lib.utils.har import HTTPCollectorFactory from lib.utils.purge import purge from lib.utils.search import search -from thirdparty import six -from thirdparty.keepalive import keepalive +import six +import keepalive from thirdparty.multipart import multipartpost -from thirdparty.six.moves import collections_abc as _collections -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import http_cookiejar as _http_cookiejar -from thirdparty.six.moves import urllib as _urllib +from six.moves import collections_abc as _collections +from six.moves import http_client as _http_client +from six.moves import http_cookiejar as _http_cookiejar +from six.moves import urllib as _urllib from thirdparty.socks import socks from xml.etree.ElementTree import ElementTree diff --git a/sqlmap/lib/core/patch.py b/sqlmap/lib/core/patch.py index 2add0e8..684cafd 100644 --- a/sqlmap/lib/core/patch.py +++ b/sqlmap/lib/core/patch.py @@ -23,7 +23,7 @@ import lib.request.connect import lib.utils.search import lib.utils.sqlalchemy import thirdparty.ansistrm.ansistrm -import thirdparty.chardet.universaldetector +import chardet.universaldetector from lib.core.common import filterNone from lib.core.common import getSafeExString @@ -42,9 +42,9 @@ from lib.core.settings import INVALID_UNICODE_PRIVATE_AREA from lib.core.settings import INVALID_UNICODE_CHAR_FORMAT from lib.core.settings import IS_WIN from lib.request.templates import getPageTemplate -from thirdparty import six -from thirdparty.six import unichr as _unichr -from thirdparty.six.moves import http_client as _http_client +import six +from six import unichr as _unichr +from six.moves import http_client as _http_client _rand = 0 @@ -70,7 +70,7 @@ def dirtyPatches(): # add support for inet_pton() on Windows OS if IS_WIN: - from thirdparty.wininetpton import win_inet_pton + from wininetpton import win_inet_pton # Reference: https://github.com/nodejs/node/issues/12786#issuecomment-298652440 codecs.register(lambda name: codecs.lookup("utf-8") if name == "cp65001" else None) @@ -84,7 +84,7 @@ def dirtyPatches(): _http_client.LineAndFileWrapper.readline = _ # to prevent too much "guessing" in case of binary data retrieval - thirdparty.chardet.universaldetector.MINIMUM_THRESHOLD = 0.90 + chardet.universaldetector.MINIMUM_THRESHOLD = 0.90 match = re.search(r" --method[= ](\w+)", " ".join(sys.argv)) if match and match.group(1).upper() != PLACE.POST: diff --git a/sqlmap/lib/core/settings.py b/sqlmap/lib/core/settings.py index 8169f0b..063227e 100644 --- a/sqlmap/lib/core/settings.py +++ b/sqlmap/lib/core/settings.py @@ -16,7 +16,7 @@ import time from lib.core.enums import DBMS from lib.core.enums import DBMS_DIRECTORY_NAME from lib.core.enums import OS -from thirdparty import six +import six # sqlmap version (<major>.<minor>.<month>.<monthly commit>) VERSION = "1.8.7" diff --git a/sqlmap/lib/core/target.py b/sqlmap/lib/core/target.py index cc3ccd2..9e5ee15 100644 --- a/sqlmap/lib/core/target.py +++ b/sqlmap/lib/core/target.py @@ -78,9 +78,9 @@ from lib.core.settings import USER_AGENT_ALIASES from lib.core.settings import XML_RECOGNITION_REGEX from lib.core.threads import getCurrentThreadData from lib.utils.hashdb import HashDB -from thirdparty import six -from thirdparty.odict import OrderedDict -from thirdparty.six.moves import urllib as _urllib +import six +from collections import OrderedDict +from six.moves import urllib as _urllib def _setRequestParams(): """ diff --git a/sqlmap/lib/core/update.py b/sqlmap/lib/core/update.py index c50547b..f1e0b36 100644 --- a/sqlmap/lib/core/update.py +++ b/sqlmap/lib/core/update.py @@ -30,7 +30,7 @@ from lib.core.settings import IS_WIN from lib.core.settings import VERSION from lib.core.settings import TYPE from lib.core.settings import ZIPBALL_PAGE -from thirdparty.six.moves import urllib as _urllib +from six.moves import urllib as _urllib def update(): if not conf.updateAll: diff --git a/sqlmap/lib/core/wordlist.py b/sqlmap/lib/core/wordlist.py index d390ae6..3dd4e47 100644 --- a/sqlmap/lib/core/wordlist.py +++ b/sqlmap/lib/core/wordlist.py @@ -11,7 +11,7 @@ from lib.core.common import getSafeExString from lib.core.common import isZipFile from lib.core.exception import SqlmapDataException from lib.core.exception import SqlmapInstallationException -from thirdparty import six +import six class Wordlist(six.Iterator): """ diff --git a/sqlmap/lib/parse/cmdline.py b/sqlmap/lib/parse/cmdline.py index 104bc36..7f1b515 100644 --- a/sqlmap/lib/parse/cmdline.py +++ b/sqlmap/lib/parse/cmdline.py @@ -92,7 +92,7 @@ from lib.core.shell import autoCompletion from lib.core.shell import clearHistory from lib.core.shell import loadHistory from lib.core.shell import saveHistory -from thirdparty.six.moves import input as _input +from six.moves import input as _input def cmdLineParser(argv=None): """ diff --git a/sqlmap/lib/parse/sitemap.py b/sqlmap/lib/parse/sitemap.py index 542a58d..dbc4809 100644 --- a/sqlmap/lib/parse/sitemap.py +++ b/sqlmap/lib/parse/sitemap.py @@ -13,7 +13,7 @@ from lib.core.data import logger from lib.core.datatype import OrderedSet from lib.core.exception import SqlmapSyntaxException from lib.request.connect import Connect as Request -from thirdparty.six.moves import http_client as _http_client +from six.moves import http_client as _http_client abortedFlag = None diff --git a/sqlmap/lib/request/basic.py b/sqlmap/lib/request/basic.py index 921ed2f..6245d7d 100644 --- a/sqlmap/lib/request/basic.py +++ b/sqlmap/lib/request/basic.py @@ -54,12 +54,12 @@ from lib.core.settings import UNICODE_ENCODING from lib.core.settings import VIEWSTATE_REGEX from lib.parse.headers import headersParser from lib.parse.html import htmlParser -from thirdparty import six -from thirdparty.chardet import detect +import six +from chardet import detect from thirdparty.identywaf import identYwaf -from thirdparty.odict import OrderedDict -from thirdparty.six import unichr as _unichr -from thirdparty.six.moves import http_client as _http_client +from collections import OrderedDict +from six import unichr as _unichr +from six.moves import http_client as _http_client @lockedmethod def forgeHeaders(items=None, base=None): diff --git a/sqlmap/lib/request/basicauthhandler.py b/sqlmap/lib/request/basicauthhandler.py index a273682..868091f 100644 --- a/sqlmap/lib/request/basicauthhandler.py +++ b/sqlmap/lib/request/basicauthhandler.py @@ -5,7 +5,7 @@ Copyright (c) 2006-2024 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ -from thirdparty.six.moves import urllib as _urllib +from six.moves import urllib as _urllib class SmartHTTPBasicAuthHandler(_urllib.request.HTTPBasicAuthHandler): """ diff --git a/sqlmap/lib/request/chunkedhandler.py b/sqlmap/lib/request/chunkedhandler.py index 8477802..e4dd760 100644 --- a/sqlmap/lib/request/chunkedhandler.py +++ b/sqlmap/lib/request/chunkedhandler.py @@ -7,7 +7,7 @@ See the file 'LICENSE' for copying permission from lib.core.data import conf from lib.core.enums import HTTP_HEADER -from thirdparty.six.moves import urllib as _urllib +from six.moves import urllib as _urllib class ChunkedHandler(_urllib.request.HTTPHandler): """ diff --git a/sqlmap/lib/request/comparison.py b/sqlmap/lib/request/comparison.py index b62b899..6d1d263 100644 --- a/sqlmap/lib/request/comparison.py +++ b/sqlmap/lib/request/comparison.py @@ -32,7 +32,7 @@ from lib.core.settings import REFLECTED_VALUE_MARKER from lib.core.settings import UPPER_RATIO_BOUND from lib.core.settings import URI_HTTP_HEADER from lib.core.threads import getCurrentThreadData -from thirdparty import six +import six def comparison(page, headers, code=None, getRatioValue=False, pageLength=None): _ = _adjust(_comparison(page, headers, code, getRatioValue, pageLength), getRatioValue) diff --git a/sqlmap/lib/request/connect.py b/sqlmap/lib/request/connect.py index bb9a95c..a04cd52 100644 --- a/sqlmap/lib/request/connect.py +++ b/sqlmap/lib/request/connect.py @@ -137,11 +137,11 @@ from lib.request.comparison import comparison from lib.request.direct import direct from lib.request.methodrequest import MethodRequest from lib.utils.safe2bin import safecharencode -from thirdparty import six -from thirdparty.odict import OrderedDict -from thirdparty.six import unichr as _unichr -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import urllib as _urllib +import six +from collections import OrderedDict +from six import unichr as _unichr +from six.moves import http_client as _http_client +from six.moves import urllib as _urllib from thirdparty.socks.socks import ProxyError class Connect(object): diff --git a/sqlmap/lib/request/httpshandler.py b/sqlmap/lib/request/httpshandler.py index c3af58f..0dde61e 100644 --- a/sqlmap/lib/request/httpshandler.py +++ b/sqlmap/lib/request/httpshandler.py @@ -17,8 +17,8 @@ from lib.core.data import kb from lib.core.data import logger from lib.core.exception import SqlmapConnectionException from lib.core.settings import PYVERSION -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import urllib as _urllib +from six.moves import http_client as _http_client +from six.moves import urllib as _urllib ssl = None try: diff --git a/sqlmap/lib/request/inject.py b/sqlmap/lib/request/inject.py index afaad5a..5e9d20f 100644 --- a/sqlmap/lib/request/inject.py +++ b/sqlmap/lib/request/inject.py @@ -66,7 +66,7 @@ from lib.techniques.dns.test import dnsTest from lib.techniques.dns.use import dnsUse from lib.techniques.error.use import errorUse from lib.techniques.union.use import unionUse -from thirdparty import six +import six def _goDns(payload, expression): value = None diff --git a/sqlmap/lib/request/methodrequest.py b/sqlmap/lib/request/methodrequest.py index f1b97b4..cde61f3 100644 --- a/sqlmap/lib/request/methodrequest.py +++ b/sqlmap/lib/request/methodrequest.py @@ -6,7 +6,7 @@ See the file 'LICENSE' for copying permission """ from lib.core.convert import getText -from thirdparty.six.moves import urllib as _urllib +from six.moves import urllib as _urllib class MethodRequest(_urllib.request.Request): """ diff --git a/sqlmap/lib/request/pkihandler.py b/sqlmap/lib/request/pkihandler.py index 712e8aa..dec64a4 100644 --- a/sqlmap/lib/request/pkihandler.py +++ b/sqlmap/lib/request/pkihandler.py @@ -8,8 +8,8 @@ See the file 'LICENSE' for copying permission from lib.core.data import conf from lib.core.common import getSafeExString from lib.core.exception import SqlmapConnectionException -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import urllib as _urllib +from six.moves import http_client as _http_client +from six.moves import urllib as _urllib class HTTPSPKIAuthHandler(_urllib.request.HTTPSHandler): def __init__(self, auth_file): diff --git a/sqlmap/lib/request/rangehandler.py b/sqlmap/lib/request/rangehandler.py index eebebc1..734148a 100644 --- a/sqlmap/lib/request/rangehandler.py +++ b/sqlmap/lib/request/rangehandler.py @@ -6,7 +6,7 @@ See the file 'LICENSE' for copying permission """ from lib.core.exception import SqlmapConnectionException -from thirdparty.six.moves import urllib as _urllib +from six.moves import urllib as _urllib class HTTPRangeHandler(_urllib.request.BaseHandler): """ diff --git a/sqlmap/lib/request/redirecthandler.py b/sqlmap/lib/request/redirecthandler.py index 726106b..c03bca6 100644 --- a/sqlmap/lib/request/redirecthandler.py +++ b/sqlmap/lib/request/redirecthandler.py @@ -32,8 +32,8 @@ from lib.core.settings import MAX_TOTAL_REDIRECTIONS from lib.core.threads import getCurrentThreadData from lib.request.basic import decodePage from lib.request.basic import parseResponse -from thirdparty import six -from thirdparty.six.moves import urllib as _urllib +import six +from six.moves import urllib as _urllib class SmartRedirectHandler(_urllib.request.HTTPRedirectHandler): def _get_header_redirect(self, headers): diff --git a/sqlmap/lib/takeover/abstraction.py b/sqlmap/lib/takeover/abstraction.py index 309b5fc..aaf5cb7 100644 --- a/sqlmap/lib/takeover/abstraction.py +++ b/sqlmap/lib/takeover/abstraction.py @@ -29,7 +29,7 @@ from lib.takeover.udf import UDF from lib.takeover.web import Web from lib.takeover.xp_cmdshell import XP_cmdshell from lib.utils.safe2bin import safechardecode -from thirdparty.six.moves import input as _input +from six.moves import input as _input class Abstraction(Web, UDF, XP_cmdshell): """ diff --git a/sqlmap/lib/takeover/metasploit.py b/sqlmap/lib/takeover/metasploit.py index f302802..56bc412 100644 --- a/sqlmap/lib/takeover/metasploit.py +++ b/sqlmap/lib/takeover/metasploit.py @@ -49,7 +49,7 @@ from lib.core.subprocessng import blockingWriteToFD from lib.core.subprocessng import Popen as execute from lib.core.subprocessng import send_all from lib.core.subprocessng import recv_some -from thirdparty import six +import six if IS_WIN: import msvcrt diff --git a/sqlmap/lib/takeover/web.py b/sqlmap/lib/takeover/web.py index 3c7a819..6030073 100644 --- a/sqlmap/lib/takeover/web.py +++ b/sqlmap/lib/takeover/web.py @@ -57,7 +57,7 @@ from lib.core.settings import SHELL_RUNCMD_EXE_TAG from lib.core.settings import SHELL_WRITABLE_DIR_TAG from lib.core.settings import VIEWSTATE_REGEX from lib.request.connect import Connect as Request -from thirdparty.six.moves import urllib as _urllib +from six.moves import urllib as _urllib class Web(object): """ diff --git a/sqlmap/lib/techniques/blind/inference.py b/sqlmap/lib/techniques/blind/inference.py index 748bbbf..8ef9b04 100644 --- a/sqlmap/lib/techniques/blind/inference.py +++ b/sqlmap/lib/techniques/blind/inference.py @@ -62,7 +62,7 @@ from lib.request.connect import Connect as Request from lib.utils.progress import ProgressBar from lib.utils.safe2bin import safecharencode from lib.utils.xrange import xrange -from thirdparty import six +import six def bisection(payload, expression, length=None, charsetType=None, firstChar=None, lastChar=None, dump=False): """ diff --git a/sqlmap/lib/techniques/error/use.py b/sqlmap/lib/techniques/error/use.py index 7089292..57e6b45 100644 --- a/sqlmap/lib/techniques/error/use.py +++ b/sqlmap/lib/techniques/error/use.py @@ -60,7 +60,7 @@ from lib.core.unescaper import unescaper from lib.request.connect import Connect as Request from lib.utils.progress import ProgressBar from lib.utils.safe2bin import safecharencode -from thirdparty import six +import six def _oneShotErrorUse(expression, field=None, chunkTest=False): offset = 1 diff --git a/sqlmap/lib/techniques/union/use.py b/sqlmap/lib/techniques/union/use.py index 0a75356..504e033 100644 --- a/sqlmap/lib/techniques/union/use.py +++ b/sqlmap/lib/techniques/union/use.py @@ -59,8 +59,8 @@ from lib.core.unescaper import unescaper from lib.request.connect import Connect as Request from lib.utils.progress import ProgressBar from lib.utils.safe2bin import safecharencode -from thirdparty import six -from thirdparty.odict import OrderedDict +import six +from collections import OrderedDict def _oneShotUnionUse(expression, unpack=True, limited=False): retVal = hashDBRetrieve("%s%s" % (conf.hexConvert or False, expression), checkConf=True) # as UNION data is stored raw unconverted diff --git a/sqlmap/lib/utils/api.py b/sqlmap/lib/utils/api.py index b3d4f38..ea8fe2a 100644 --- a/sqlmap/lib/utils/api.py +++ b/sqlmap/lib/utils/api.py @@ -56,18 +56,18 @@ from lib.core.settings import VERSION_STRING from lib.core.shell import autoCompletion from lib.core.subprocessng import Popen from lib.parse.cmdline import cmdLineParser -from thirdparty.bottle.bottle import error as return_error -from thirdparty.bottle.bottle import get -from thirdparty.bottle.bottle import hook -from thirdparty.bottle.bottle import post -from thirdparty.bottle.bottle import request -from thirdparty.bottle.bottle import response -from thirdparty.bottle.bottle import run -from thirdparty.bottle.bottle import server_names -from thirdparty import six -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import input as _input -from thirdparty.six.moves import urllib as _urllib +from bottle import error as return_error +from bottle import get +from bottle import hook +from bottle import post +from bottle import request +from bottle import response +from bottle import run +from bottle import server_names +import six +from six.moves import http_client as _http_client +from six.moves import input as _input +from six.moves import urllib as _urllib # Global data storage class DataStore(object): diff --git a/sqlmap/lib/utils/crawler.py b/sqlmap/lib/utils/crawler.py index 43b24a2..542a6f2 100644 --- a/sqlmap/lib/utils/crawler.py +++ b/sqlmap/lib/utils/crawler.py @@ -36,10 +36,10 @@ from lib.core.threads import getCurrentThreadData from lib.core.threads import runThreads from lib.parse.sitemap import parseSitemap from lib.request.connect import Connect as Request -from thirdparty import six -from thirdparty.beautifulsoup.beautifulsoup import BeautifulSoup -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import urllib as _urllib +import six +from bs4 import BeautifulSoup +from six.moves import http_client as _http_client +from six.moves import urllib as _urllib def crawl(target, post=None, cookie=None): if not target: diff --git a/sqlmap/lib/utils/har.py b/sqlmap/lib/utils/har.py index bc9e881..6b70289 100644 --- a/sqlmap/lib/utils/har.py +++ b/sqlmap/lib/utils/har.py @@ -15,8 +15,8 @@ from lib.core.bigarray import BigArray from lib.core.convert import getBytes from lib.core.convert import getText from lib.core.settings import VERSION -from thirdparty.six.moves import BaseHTTPServer as _BaseHTTPServer -from thirdparty.six.moves import http_client as _http_client +from six.moves import BaseHTTPServer as _BaseHTTPServer +from six.moves import http_client as _http_client # Reference: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HAR/Overview.html # http://www.softwareishard.com/har/viewer/ diff --git a/sqlmap/lib/utils/hash.py b/sqlmap/lib/utils/hash.py index 2a4514d..4b8eb55 100644 --- a/sqlmap/lib/utils/hash.py +++ b/sqlmap/lib/utils/hash.py @@ -10,14 +10,14 @@ from __future__ import print_function try: from crypt import crypt except: # removed ImportError because of https://github.com/sqlmapproject/sqlmap/issues/3171 - from thirdparty.fcrypt.fcrypt import crypt + from fcrypt.fcrypt import crypt try: from Crypto.Cipher.DES import MODE_CBC as CBC from Crypto.Cipher.DES import new as des except: - from thirdparty.pydes.pyDes import CBC - from thirdparty.pydes.pyDes import des + from pyDes import CBC + from pyDes import des _multiprocessing = None @@ -85,9 +85,9 @@ from lib.core.settings import NULL from lib.core.settings import ROTATING_CHARS from lib.core.settings import UNICODE_ENCODING from lib.core.wordlist import Wordlist -from thirdparty import six -from thirdparty.colorama.initialise import init as coloramainit -from thirdparty.six.moves import queue as _queue +import six +from colorama.initialise import init as coloramainit +from six.moves import queue as _queue def mysql_passwd(password, uppercase=True): """ diff --git a/sqlmap/lib/utils/hashdb.py b/sqlmap/lib/utils/hashdb.py index 4395236..015f23a 100644 --- a/sqlmap/lib/utils/hashdb.py +++ b/sqlmap/lib/utils/hashdb.py @@ -26,7 +26,7 @@ from lib.core.settings import HASHDB_FLUSH_THRESHOLD from lib.core.settings import HASHDB_RETRIEVE_RETRIES from lib.core.threads import getCurrentThreadData from lib.core.threads import getCurrentThreadName -from thirdparty import six +import six class HashDB(object): def __init__(self, filepath): diff --git a/sqlmap/lib/utils/httpd.py b/sqlmap/lib/utils/httpd.py index aba688d..b4efebc 100644 --- a/sqlmap/lib/utils/httpd.py +++ b/sqlmap/lib/utils/httpd.py @@ -21,11 +21,11 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ". from lib.core.enums import HTTP_HEADER from lib.core.settings import UNICODE_ENCODING from lib.core.settings import VERSION_STRING -from thirdparty import six -from thirdparty.six.moves import BaseHTTPServer as _BaseHTTPServer -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import socketserver as _socketserver -from thirdparty.six.moves import urllib as _urllib +import six +from six.moves import BaseHTTPServer as _BaseHTTPServer +from six.moves import http_client as _http_client +from six.moves import socketserver as _socketserver +from six.moves import urllib as _urllib HTTP_ADDRESS = "0.0.0.0" HTTP_PORT = 8951 diff --git a/sqlmap/lib/utils/pivotdumptable.py b/sqlmap/lib/utils/pivotdumptable.py index ca7e37e..897d532 100644 --- a/sqlmap/lib/utils/pivotdumptable.py +++ b/sqlmap/lib/utils/pivotdumptable.py @@ -34,7 +34,7 @@ from lib.core.settings import SINGLE_QUOTE_MARKER from lib.core.unescaper import unescaper from lib.request import inject from lib.utils.safe2bin import safechardecode -from thirdparty.six import unichr as _unichr +from six import unichr as _unichr def pivotDumpTable(table, colList, count=None, blind=True, alias=None): lengths = {} diff --git a/sqlmap/lib/utils/purge.py b/sqlmap/lib/utils/purge.py index 9886fb0..049ec5c 100644 --- a/sqlmap/lib/utils/purge.py +++ b/sqlmap/lib/utils/purge.py @@ -17,7 +17,7 @@ from lib.core.common import openFile from lib.core.compat import xrange from lib.core.convert import getUnicode from lib.core.data import logger -from thirdparty.six import unichr as _unichr +from six import unichr as _unichr def purge(directory): """ diff --git a/sqlmap/lib/utils/search.py b/sqlmap/lib/utils/search.py index dd0b040..c512fff 100644 --- a/sqlmap/lib/utils/search.py +++ b/sqlmap/lib/utils/search.py @@ -33,8 +33,8 @@ from lib.core.settings import GOOGLE_REGEX from lib.core.settings import HTTP_ACCEPT_ENCODING_HEADER_VALUE from lib.core.settings import UNICODE_ENCODING from lib.request.basic import decodePage -from thirdparty.six.moves import http_client as _http_client -from thirdparty.six.moves import urllib as _urllib +from six.moves import http_client as _http_client +from six.moves import urllib as _urllib from thirdparty.socks import socks def _search(dork): diff --git a/sqlmap/lib/utils/sqlalchemy.py b/sqlmap/lib/utils/sqlalchemy.py index 586eb7f..4a17f54 100644 --- a/sqlmap/lib/utils/sqlalchemy.py +++ b/sqlmap/lib/utils/sqlalchemy.py @@ -38,8 +38,8 @@ from lib.core.exception import SqlmapConnectionException from lib.core.exception import SqlmapFilePathException from lib.core.exception import SqlmapMissingDependence from plugins.generic.connector import Connector as GenericConnector -from thirdparty import six -from thirdparty.six.moves import urllib as _urllib +import six +from six.moves import urllib as _urllib def getSafeExString(ex, encoding=None): # Cross-referenced function raise NotImplementedError diff --git a/sqlmap/plugins/dbms/maxdb/enumeration.py b/sqlmap/plugins/dbms/maxdb/enumeration.py index b676f69..0941086 100644 --- a/sqlmap/plugins/dbms/maxdb/enumeration.py +++ b/sqlmap/plugins/dbms/maxdb/enumeration.py @@ -26,8 +26,8 @@ from lib.core.settings import CURRENT_DB from lib.utils.brute import columnExists from lib.utils.pivotdumptable import pivotDumpTable from plugins.generic.enumeration import Enumeration as GenericEnumeration -from thirdparty import six -from thirdparty.six.moves import zip as _zip +import six +from six.moves import zip as _zip class Enumeration(GenericEnumeration): def __init__(self): diff --git a/sqlmap/plugins/dbms/mssqlserver/enumeration.py b/sqlmap/plugins/dbms/mssqlserver/enumeration.py index b27be56..4f9edec 100644 --- a/sqlmap/plugins/dbms/mssqlserver/enumeration.py +++ b/sqlmap/plugins/dbms/mssqlserver/enumeration.py @@ -32,7 +32,7 @@ from lib.core.exception import SqlmapNoneDataException from lib.core.settings import CURRENT_DB from lib.request import inject from plugins.generic.enumeration import Enumeration as GenericEnumeration -from thirdparty import six +import six class Enumeration(GenericEnumeration): def getPrivileges(self, *args, **kwargs): diff --git a/sqlmap/plugins/dbms/sybase/enumeration.py b/sqlmap/plugins/dbms/sybase/enumeration.py index 1d22930..c078e4c 100644 --- a/sqlmap/plugins/dbms/sybase/enumeration.py +++ b/sqlmap/plugins/dbms/sybase/enumeration.py @@ -29,8 +29,8 @@ from lib.core.settings import CURRENT_DB from lib.utils.brute import columnExists from lib.utils.pivotdumptable import pivotDumpTable from plugins.generic.enumeration import Enumeration as GenericEnumeration -from thirdparty import six -from thirdparty.six.moves import zip as _zip +import six +from six.moves import zip as _zip class Enumeration(GenericEnumeration): def getUsers(self): diff --git a/sqlmap/plugins/generic/custom.py b/sqlmap/plugins/generic/custom.py index dbfd589..a0387c6 100644 --- a/sqlmap/plugins/generic/custom.py +++ b/sqlmap/plugins/generic/custom.py @@ -26,7 +26,7 @@ from lib.core.settings import NULL from lib.core.settings import PARAMETER_SPLITTING_REGEX from lib.core.shell import autoCompletion from lib.request import inject -from thirdparty.six.moves import input as _input +from six.moves import input as _input class Custom(object): """ diff --git a/sqlmap/plugins/generic/databases.py b/sqlmap/plugins/generic/databases.py index 02e8ca0..726cfc8 100644 --- a/sqlmap/plugins/generic/databases.py +++ b/sqlmap/plugins/generic/databases.py @@ -55,7 +55,7 @@ from lib.core.settings import VERTICA_DEFAULT_SCHEMA from lib.request import inject from lib.utils.brute import columnExists from lib.utils.brute import tableExists -from thirdparty import six +import six class Databases(object): """ diff --git a/sqlmap/plugins/generic/entries.py b/sqlmap/plugins/generic/entries.py index f6e8c01..40183fc 100644 --- a/sqlmap/plugins/generic/entries.py +++ b/sqlmap/plugins/generic/entries.py @@ -49,8 +49,8 @@ from lib.core.settings import UPPER_CASE_DBMSES from lib.request import inject from lib.utils.hash import attackDumpedTable from lib.utils.pivotdumptable import pivotDumpTable -from thirdparty import six -from thirdparty.six.moves import zip as _zip +import six +from six.moves import zip as _zip class Entries(object): """ diff --git a/sqlmap/plugins/generic/search.py b/sqlmap/plugins/generic/search.py index 384936a..4847d0f 100644 --- a/sqlmap/plugins/generic/search.py +++ b/sqlmap/plugins/generic/search.py @@ -38,7 +38,7 @@ from lib.core.settings import UPPER_CASE_DBMSES from lib.request import inject from lib.utils.brute import columnExists from lib.utils.brute import tableExists -from thirdparty import six +import six class Search(object): """ diff --git a/sqlmap/plugins/generic/users.py b/sqlmap/plugins/generic/users.py index 27bed7e..92b34c1 100644 --- a/sqlmap/plugins/generic/users.py +++ b/sqlmap/plugins/generic/users.py @@ -47,7 +47,7 @@ from lib.request import inject from lib.utils.hash import attackCachedUsersPasswords from lib.utils.hash import storeHashesToFile from lib.utils.pivotdumptable import pivotDumpTable -from thirdparty.six.moves import zip as _zip +from six.moves import zip as _zip class Users(object): """ diff --git a/sqlmap/thirdparty/multipart/multipartpost.py b/sqlmap/thirdparty/multipart/multipartpost.py index 5ea37cc..e47a857 100644 --- a/sqlmap/thirdparty/multipart/multipartpost.py +++ b/sqlmap/thirdparty/multipart/multipartpost.py @@ -30,7 +30,7 @@ import sys from lib.core.compat import choose_boundary from lib.core.convert import getBytes from lib.core.exception import SqlmapDataException -from thirdparty.six.moves import urllib as _urllib +from six.moves import urllib as _urllib # Controls how sequences are uncoded. If true, elements may be given # multiple values by assigning a sequence.