mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-01-25 00:34:28 +03:00
Minor improvement
This commit is contained in:
parent
cfe9fb4f5b
commit
f1fd080ba5
|
@ -198,6 +198,8 @@ def decodeBase64(value, binary=True, encoding=None):
|
||||||
True
|
True
|
||||||
>>> decodeBase64("MTIz", binary=False)
|
>>> decodeBase64("MTIz", binary=False)
|
||||||
'123'
|
'123'
|
||||||
|
>>> decodeBase64("A-B_CD") == decodeBase64("A+B/CD")
|
||||||
|
True
|
||||||
>>> decodeBase64(b"MTIzNA") == b"1234"
|
>>> decodeBase64(b"MTIzNA") == b"1234"
|
||||||
True
|
True
|
||||||
>>> decodeBase64("MTIzNA") == b"1234"
|
>>> decodeBase64("MTIzNA") == b"1234"
|
||||||
|
@ -206,12 +208,22 @@ def decodeBase64(value, binary=True, encoding=None):
|
||||||
True
|
True
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if value is None:
|
||||||
|
return None
|
||||||
|
|
||||||
padding = b'=' if isinstance(value, bytes) else '='
|
padding = b'=' if isinstance(value, bytes) else '='
|
||||||
|
|
||||||
# Reference: https://stackoverflow.com/a/49459036
|
# Reference: https://stackoverflow.com/a/49459036
|
||||||
if not value.endswith(padding):
|
if not value.endswith(padding):
|
||||||
value += 3 * padding
|
value += 3 * padding
|
||||||
|
|
||||||
|
# Reference: https://en.wikipedia.org/wiki/Base64#URL_applications
|
||||||
|
# Reference: https://perldoc.perl.org/MIME/Base64.html
|
||||||
|
if isinstance(value, bytes):
|
||||||
|
value = value.replace(b'-', b'+').replace(b'_', b'/')
|
||||||
|
else:
|
||||||
|
value = value.replace('-', '+').replace('_', '/')
|
||||||
|
|
||||||
retVal = base64.b64decode(value)
|
retVal = base64.b64decode(value)
|
||||||
|
|
||||||
if not binary:
|
if not binary:
|
||||||
|
@ -219,16 +231,21 @@ def decodeBase64(value, binary=True, encoding=None):
|
||||||
|
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
def encodeBase64(value, binary=True, encoding=None):
|
def encodeBase64(value, binary=True, encoding=None, padding=True):
|
||||||
"""
|
"""
|
||||||
Returns a decoded representation of provided Base64 value
|
Returns a decoded representation of provided Base64 value
|
||||||
|
|
||||||
>>> encodeBase64(b"123") == b"MTIz"
|
>>> encodeBase64(b"123") == b"MTIz"
|
||||||
True
|
True
|
||||||
>>> encodeBase64(u"123", binary=False)
|
>>> encodeBase64(u"1234", binary=False)
|
||||||
'MTIz'
|
'MTIzNA=='
|
||||||
|
>>> encodeBase64(u"1234", binary=False, padding=False)
|
||||||
|
'MTIzNA'
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if value is None:
|
||||||
|
return None
|
||||||
|
|
||||||
if isinstance(value, six.text_type):
|
if isinstance(value, six.text_type):
|
||||||
value = value.encode(encoding or UNICODE_ENCODING)
|
value = value.encode(encoding or UNICODE_ENCODING)
|
||||||
|
|
||||||
|
@ -237,6 +254,9 @@ def encodeBase64(value, binary=True, encoding=None):
|
||||||
if not binary:
|
if not binary:
|
||||||
retVal = getText(retVal, encoding)
|
retVal = getText(retVal, encoding)
|
||||||
|
|
||||||
|
if not padding:
|
||||||
|
retVal = retVal.rstrip(b'=' if isinstance(retVal, bytes) else '=')
|
||||||
|
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
def getBytes(value, encoding=None, errors="strict", unsafe=True):
|
def getBytes(value, encoding=None, errors="strict", unsafe=True):
|
||||||
|
|
|
@ -18,7 +18,7 @@ from lib.core.enums import OS
|
||||||
from thirdparty.six import unichr as _unichr
|
from thirdparty.six import unichr as _unichr
|
||||||
|
|
||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||||
VERSION = "1.4.8.5"
|
VERSION = "1.4.8.6"
|
||||||
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
||||||
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
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)
|
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user