diff --git a/lib/core/settings.py b/lib/core/settings.py index d94566fb8..d1f7de8ad 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -17,7 +17,7 @@ from lib.core.enums import DBMS_DIRECTORY_NAME from lib.core.enums import OS # sqlmap version (...) -VERSION = "1.3.4.44" +VERSION = "1.3.4.45" 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/core/testing.py b/lib/core/testing.py index 504fe2cd5..bf41e2ce4 100644 --- a/lib/core/testing.py +++ b/lib/core/testing.py @@ -74,7 +74,6 @@ def vulnTest(): ): output = shellExec("python %s -u http://%s:%d/?id=1 --batch %s" % (os.path.join(os.path.dirname(__file__), "..", "..", "sqlmap.py"), address, port, options)) if not all(check in output for check in checks): - print output retVal = False count += 1 diff --git a/thirdparty/multipart/multipartpost.py b/thirdparty/multipart/multipartpost.py index b2ff6c850..4355638af 100644 --- a/thirdparty/multipart/multipartpost.py +++ b/thirdparty/multipart/multipartpost.py @@ -25,11 +25,10 @@ import mimetypes import os import stat import sys -import urllib -import urllib2 from lib.core.compat import choose_boundary from lib.core.exception import SqlmapDataException +from thirdparty.six.moves import urllib as _urllib class Callable: def __init__(self, anycallable): @@ -40,8 +39,8 @@ class Callable: doseq = 1 -class MultipartPostHandler(urllib2.BaseHandler): - handler_order = urllib2.HTTPHandler.handler_order - 10 # needs to run first +class MultipartPostHandler(_urllib.request.BaseHandler): + handler_order = _urllib.request.HTTPHandler.handler_order - 10 # needs to run first def http_request(self, request): data = request.get_data() @@ -61,7 +60,7 @@ class MultipartPostHandler(urllib2.BaseHandler): raise SqlmapDataException("not a valid non-string sequence or mapping object '%s'" % traceback) if len(v_files) == 0: - data = urllib.urlencode(v_vars, doseq) + data = _urllib.parse.urlencode(v_vars, doseq) else: boundary, data = self.multipart_encode(v_vars, v_files) contenttype = "multipart/form-data; boundary=%s" % boundary