mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-28 12:33:49 +03:00
StringIO is bad m'kay (python3 this and that)
This commit is contained in:
parent
4b75ca15e8
commit
8d89389c36
|
@ -15,6 +15,7 @@ import getpass
|
|||
import hashlib
|
||||
import httplib
|
||||
import inspect
|
||||
import io
|
||||
import json
|
||||
import keyword
|
||||
import locale
|
||||
|
@ -40,7 +41,6 @@ import unicodedata
|
|||
|
||||
from ConfigParser import DEFAULTSECT
|
||||
from ConfigParser import RawConfigParser
|
||||
from StringIO import StringIO
|
||||
from difflib import SequenceMatcher
|
||||
from math import sqrt
|
||||
from optparse import OptionValueError
|
||||
|
@ -158,7 +158,6 @@ from lib.core.settings import REFLECTED_REPLACEMENT_REGEX
|
|||
from lib.core.settings import REFLECTED_REPLACEMENT_TIMEOUT
|
||||
from lib.core.settings import REFLECTED_VALUE_MARKER
|
||||
from lib.core.settings import REFLECTIVE_MISS_THRESHOLD
|
||||
from lib.core.settings import SAFE_VARIABLE_MARKER
|
||||
from lib.core.settings import SENSITIVE_DATA_REGEX
|
||||
from lib.core.settings import SENSITIVE_OPTIONS
|
||||
from lib.core.settings import STDIN_PIPE_DASH
|
||||
|
@ -2079,7 +2078,7 @@ def parseXmlFile(xmlFile, handler):
|
|||
"""
|
||||
|
||||
try:
|
||||
with contextlib.closing(StringIO(readCachedFileContent(xmlFile))) as stream:
|
||||
with contextlib.closing(io.StringIO(readCachedFileContent(xmlFile))) as stream:
|
||||
parse(stream, handler)
|
||||
except (SAXParseException, UnicodeError) as ex:
|
||||
errMsg = "something appears to be wrong with "
|
||||
|
@ -3322,7 +3321,7 @@ def openFile(filename, mode='r', encoding=UNICODE_ENCODING, errors="replace", bu
|
|||
if filename not in kb.cache.content:
|
||||
kb.cache.content[filename] = sys.stdin.read()
|
||||
|
||||
return contextlib.closing(StringIO(readCachedFileContent(filename)))
|
||||
return contextlib.closing(io.StringIO(readCachedFileContent(filename)))
|
||||
else:
|
||||
try:
|
||||
return codecs.open(filename, mode, encoding, errors, buffering)
|
||||
|
@ -4107,9 +4106,9 @@ def findPageForms(content, url, raise_=False, addToTargets=False):
|
|||
set([(u'/input.php', 'POST', u'id=1', None, None)])
|
||||
"""
|
||||
|
||||
class _(StringIO):
|
||||
class _(io.BytesIO):
|
||||
def __init__(self, content, url):
|
||||
StringIO.__init__(self, unicodeencode(content, kb.pageEncoding) if isinstance(content, unicode) else content)
|
||||
io.BytesIO.__init__(self, unicodeencode(content, kb.pageEncoding) if isinstance(content, unicode) else content)
|
||||
self._url = url
|
||||
|
||||
def geturl(self):
|
||||
|
|
|
@ -13,9 +13,9 @@ finally:
|
|||
import pickle as picklePy
|
||||
|
||||
import base64
|
||||
import io
|
||||
import json
|
||||
import re
|
||||
import StringIO
|
||||
import sys
|
||||
|
||||
from lib.core.settings import IS_WIN
|
||||
|
@ -84,7 +84,7 @@ def base64unpickle(value, unsafe=False):
|
|||
self.load_reduce()
|
||||
|
||||
def loads(str):
|
||||
f = StringIO.StringIO(str)
|
||||
f = io.BytesIO(str)
|
||||
if unsafe:
|
||||
unpickler = picklePy.Unpickler(f)
|
||||
unpickler.dispatch[picklePy.REDUCE] = _
|
||||
|
|
|
@ -125,7 +125,6 @@ from lib.core.settings import SQLMAP_ENVIRONMENT_PREFIX
|
|||
from lib.core.settings import SUPPORTED_DBMS
|
||||
from lib.core.settings import SUPPORTED_OS
|
||||
from lib.core.settings import TIME_DELAY_CANDIDATES
|
||||
from lib.core.settings import UNICODE_ENCODING
|
||||
from lib.core.settings import UNION_CHAR_REGEX
|
||||
from lib.core.settings import UNKNOWN_DBMS_VERSION
|
||||
from lib.core.settings import URI_INJECTABLE_REGEX
|
||||
|
|
|
@ -19,7 +19,7 @@ from lib.core.enums import DBMS_DIRECTORY_NAME
|
|||
from lib.core.enums import OS
|
||||
|
||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||
VERSION = "1.3.3.49"
|
||||
VERSION = "1.3.3.50"
|
||||
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)
|
||||
|
|
|
@ -7,9 +7,9 @@ See the file 'LICENSE' for copying permission
|
|||
|
||||
import codecs
|
||||
import gzip
|
||||
import io
|
||||
import logging
|
||||
import re
|
||||
import StringIO
|
||||
import struct
|
||||
import zlib
|
||||
|
||||
|
@ -273,9 +273,9 @@ def decodePage(page, contentEncoding, contentType):
|
|||
|
||||
try:
|
||||
if contentEncoding == "deflate":
|
||||
data = StringIO.StringIO(zlib.decompress(page, -15)) # Reference: http://stackoverflow.com/questions/1089662/python-inflate-and-deflate-implementations
|
||||
data = io.BytesIO(zlib.decompress(page, -15)) # Reference: http://stackoverflow.com/questions/1089662/python-inflate-and-deflate-implementations
|
||||
else:
|
||||
data = gzip.GzipFile("", "rb", 9, StringIO.StringIO(page))
|
||||
data = gzip.GzipFile("", "rb", 9, io.BytesIO(page))
|
||||
size = struct.unpack("<l", page[-4:])[0] # Reference: http://pydoc.org/get.cgi/usr/local/lib/python2.5/gzip.py
|
||||
if size > MAX_CONNECTION_TOTAL_SIZE:
|
||||
raise Exception("size too large")
|
||||
|
|
|
@ -5,13 +5,12 @@ Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)
|
|||
See the file 'LICENSE' for copying permission
|
||||
"""
|
||||
|
||||
import io
|
||||
import time
|
||||
import types
|
||||
import urllib2
|
||||
import urlparse
|
||||
|
||||
from StringIO import StringIO
|
||||
|
||||
from lib.core.data import conf
|
||||
from lib.core.data import kb
|
||||
from lib.core.data import logger
|
||||
|
@ -165,7 +164,7 @@ class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
|
|||
except:
|
||||
redurl = None
|
||||
result = fp
|
||||
fp.read = StringIO("").read
|
||||
fp.read = io.BytesIO("").read
|
||||
else:
|
||||
result = fp
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)
|
|||
See the file 'LICENSE' for copying permission
|
||||
"""
|
||||
|
||||
import io
|
||||
import os
|
||||
import posixpath
|
||||
import re
|
||||
import StringIO
|
||||
import tempfile
|
||||
import urlparse
|
||||
|
||||
|
@ -97,7 +97,7 @@ class Web:
|
|||
content = f.read()
|
||||
|
||||
if content is not None:
|
||||
stream = StringIO.StringIO(content) # string content
|
||||
stream = io.BytesIO(content) # string content
|
||||
|
||||
return self._webFileStreamUpload(stream, destFileName, directory)
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ import base64
|
|||
import BaseHTTPServer
|
||||
import datetime
|
||||
import httplib
|
||||
import io
|
||||
import re
|
||||
import StringIO
|
||||
import time
|
||||
|
||||
from lib.core.bigarray import BigArray
|
||||
|
@ -149,11 +149,11 @@ class Response:
|
|||
comment = ""
|
||||
|
||||
if altered.startswith("HTTP response [") or altered.startswith("HTTP redirect ["):
|
||||
io = StringIO.StringIO(raw)
|
||||
first_line = io.readline()
|
||||
stream = io.StringIO(raw)
|
||||
first_line = stream.readline()
|
||||
parts = cls.extract_status.search(first_line)
|
||||
status_line = "HTTP/1.0 %s %s" % (parts.group(1), parts.group(2))
|
||||
remain = io.read()
|
||||
remain = stream.read()
|
||||
altered = status_line + "\r\n" + remain
|
||||
comment = first_line
|
||||
|
||||
|
@ -203,7 +203,7 @@ class FakeSocket:
|
|||
# https://stackoverflow.com/questions/24728088/python-parse-http-response-string
|
||||
|
||||
def __init__(self, response_text):
|
||||
self._file = StringIO.StringIO(response_text)
|
||||
self._file = io.StringIO(response_text)
|
||||
|
||||
def makefile(self, *args, **kwargs):
|
||||
return self._file
|
||||
|
@ -214,7 +214,7 @@ class HTTPRequest(BaseHTTPServer.BaseHTTPRequestHandler):
|
|||
|
||||
def __init__(self, request_text):
|
||||
self.comment = None
|
||||
self.rfile = StringIO.StringIO(request_text)
|
||||
self.rfile = io.StringIO(request_text)
|
||||
self.raw_requestline = self.rfile.readline()
|
||||
|
||||
if self.raw_requestline.startswith("HTTP request ["):
|
||||
|
|
4
thirdparty/multipart/multipartpost.py
vendored
4
thirdparty/multipart/multipartpost.py
vendored
|
@ -20,11 +20,11 @@ License along with this library; if not, write to the Free Software
|
|||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
"""
|
||||
|
||||
import io
|
||||
import mimetools
|
||||
import mimetypes
|
||||
import os
|
||||
import stat
|
||||
import StringIO
|
||||
import sys
|
||||
import urllib
|
||||
import urllib2
|
||||
|
@ -53,7 +53,7 @@ class MultipartPostHandler(urllib2.BaseHandler):
|
|||
|
||||
try:
|
||||
for(key, value) in data.items():
|
||||
if isinstance(value, file) or hasattr(value, "file") or isinstance(value, StringIO.StringIO):
|
||||
if isinstance(value, file) or hasattr(value, "file") or isinstance(value, io.IOBase):
|
||||
v_files.append((key, value))
|
||||
else:
|
||||
v_vars.append((key, value))
|
||||
|
|
Loading…
Reference in New Issue
Block a user