Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2791ea5

Browse files
committed
Minor drei update
1 parent 7d9cd0c commit 2791ea5

15 files changed

Lines changed: 84 additions & 44 deletions

File tree

lib/core/common.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2484,6 +2484,18 @@ def getBytes(value, encoding=UNICODE_ENCODING, errors="strict"):
24842484

24852485
return retVal
24862486

2487+
def getOrds(value):
2488+
"""
2489+
Returns ORD(...) representation of provided string value
2490+
2491+
>>> getOrds(u'fo\xf6bar')
2492+
[102, 111, 246, 98, 97, 114]
2493+
>>> getOrds(b"fo\xc3\xb6bar")
2494+
[102, 111, 195, 182, 98, 97, 114]
2495+
"""
2496+
2497+
return [_ if isinstance(_, int) else ord(_) for _ in value]
2498+
24872499
def longestCommonPrefix(*sequences):
24882500
"""
24892501
Returns longest common prefix occuring in given sequences
@@ -3635,8 +3647,8 @@ def maskSensitiveData(msg):
36353647
"""
36363648
Masks sensitive data in the supplied message
36373649
3638-
>>> maskSensitiveData('python sqlmap.py -u "http://www.test.com/vuln.php?id=1" --banner')
3639-
u'python sqlmap.py -u *********************************** --banner'
3650+
>>> maskSensitiveData('python sqlmap.py -u "http://www.test.com/vuln.php?id=1" --banner') == 'python sqlmap.py -u *********************************** --banner'
3651+
True
36403652
"""
36413653

36423654
retVal = getUnicode(msg)

lib/core/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from lib.core.enums import OS
1818

1919
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
20-
VERSION = "1.3.5.2"
20+
VERSION = "1.3.5.3"
2121
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
2222
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
2323
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)

plugins/dbms/access/syntax.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,18 @@
55
See the file 'LICENSE' for copying permission
66
"""
77

8+
from lib.core.common import getOrds
89
from plugins.generic.syntax import Syntax as GenericSyntax
910

1011
class Syntax(GenericSyntax):
1112
@staticmethod
1213
def escape(expression, quote=True):
14+
"""
15+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT CHR(97)&CHR(98)&CHR(99)&CHR(100)&CHR(101)&CHR(102)&CHR(103)&CHR(104) FROM foobar"
16+
True
17+
"""
18+
1319
def escaper(value):
14-
return "&".join("CHR(%d)" % ord(_) for _ in value)
20+
return "&".join("CHR(%d)" % _ for _ in getOrds(value))
1521

1622
return Syntax._escape(expression, quote, escaper)

plugins/dbms/db2/syntax.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@
55
See the file 'LICENSE' for copying permission
66
"""
77

8+
from lib.core.common import getOrds
89
from plugins.generic.syntax import Syntax as GenericSyntax
910

1011
class Syntax(GenericSyntax):
1112
@staticmethod
1213
def escape(expression, quote=True):
1314
"""
14-
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar")
15-
'SELECT CHR(97)||CHR(98)||CHR(99)||CHR(100)||CHR(101)||CHR(102)||CHR(103)||CHR(104) FROM foobar'
15+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT CHR(97)||CHR(98)||CHR(99)||CHR(100)||CHR(101)||CHR(102)||CHR(103)||CHR(104) FROM foobar"
16+
True
1617
"""
1718

1819
def escaper(value):
19-
return "||".join("CHR(%d)" % ord(_) for _ in value)
20+
return "||".join("CHR(%d)" % _ for _ in getOrds(value))
2021

2122
return Syntax._escape(expression, quote, escaper)

plugins/dbms/firebird/syntax.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
See the file 'LICENSE' for copying permission
66
"""
77

8+
from lib.core.common import getOrds
89
from lib.core.common import isDBMSVersionAtLeast
910
from plugins.generic.syntax import Syntax as GenericSyntax
1011

@@ -15,16 +16,16 @@ def escape(expression, quote=True):
1516
>>> from lib.core.common import Backend
1617
>>> Backend.setVersion('2.0')
1718
['2.0']
18-
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar")
19-
"SELECT 'abcdefgh' FROM foobar"
19+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT 'abcdefgh' FROM foobar"
20+
True
2021
>>> Backend.setVersion('2.1')
2122
['2.1']
22-
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar")
23-
'SELECT ASCII_CHAR(97)||ASCII_CHAR(98)||ASCII_CHAR(99)||ASCII_CHAR(100)||ASCII_CHAR(101)||ASCII_CHAR(102)||ASCII_CHAR(103)||ASCII_CHAR(104) FROM foobar'
23+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT ASCII_CHAR(97)||ASCII_CHAR(98)||ASCII_CHAR(99)||ASCII_CHAR(100)||ASCII_CHAR(101)||ASCII_CHAR(102)||ASCII_CHAR(103)||ASCII_CHAR(104) FROM foobar"
24+
True
2425
"""
2526

2627
def escaper(value):
27-
return "||".join("ASCII_CHAR(%d)" % ord(_) for _ in value)
28+
return "||".join("ASCII_CHAR(%d)" %_ for _ in getOrds(value))
2829

2930
retVal = expression
3031

plugins/dbms/h2/syntax.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@
55
See the file 'LICENSE' for copying permission
66
"""
77

8+
from lib.core.common import getOrds
89
from lib.core.compat import xrange
910
from plugins.generic.syntax import Syntax as GenericSyntax
1011

1112
class Syntax(GenericSyntax):
1213
@staticmethod
1314
def escape(expression, quote=True):
1415
"""
15-
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar")
16-
'SELECT CHAR(97)||CHAR(98)||CHAR(99)||CHAR(100)||CHAR(101)||CHAR(102)||CHAR(103)||CHAR(104) FROM foobar'
16+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT CHAR(97)||CHAR(98)||CHAR(99)||CHAR(100)||CHAR(101)||CHAR(102)||CHAR(103)||CHAR(104) FROM foobar"
17+
True
1718
"""
1819

1920
def escaper(value):
20-
return "||".join("CHAR(%d)" % ord(value[i]) for i in xrange(len(value)))
21+
return "||".join("CHAR(%d)" % _ for _ in getOrds(value))
2122

2223
return Syntax._escape(expression, quote, escaper)

plugins/dbms/hsqldb/syntax.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@
55
See the file 'LICENSE' for copying permission
66
"""
77

8+
from lib.core.common import getOrds
89
from lib.core.compat import xrange
910
from plugins.generic.syntax import Syntax as GenericSyntax
1011

1112
class Syntax(GenericSyntax):
1213
@staticmethod
1314
def escape(expression, quote=True):
1415
"""
15-
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar")
16-
'SELECT CHAR(97)||CHAR(98)||CHAR(99)||CHAR(100)||CHAR(101)||CHAR(102)||CHAR(103)||CHAR(104) FROM foobar'
16+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT CHAR(97)||CHAR(98)||CHAR(99)||CHAR(100)||CHAR(101)||CHAR(102)||CHAR(103)||CHAR(104) FROM foobar"
17+
True
1718
"""
1819

1920
def escaper(value):
20-
return "||".join("CHAR(%d)" % ord(value[i]) for i in xrange(len(value)))
21+
return "||".join("CHAR(%d)" % _ for _ in getOrds(value))
2122

2223
return Syntax._escape(expression, quote, escaper)

plugins/dbms/informix/syntax.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import re
99

10+
from lib.core.common import getOrds
1011
from lib.core.common import isDBMSVersionAtLeast
1112
from lib.core.common import randomStr
1213
from plugins.generic.syntax import Syntax as GenericSyntax
@@ -18,12 +19,12 @@ def escape(expression, quote=True):
1819
>>> from lib.core.common import Backend
1920
>>> Backend.setVersion('12.10')
2021
['12.10']
21-
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar")
22-
'SELECT CHR(97)||CHR(98)||CHR(99)||CHR(100)||CHR(101)||CHR(102)||CHR(103)||CHR(104) FROM foobar'
22+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT CHR(97)||CHR(98)||CHR(99)||CHR(100)||CHR(101)||CHR(102)||CHR(103)||CHR(104) FROM foobar"
23+
True
2324
"""
2425

2526
def escaper(value):
26-
return "||".join("CHR(%d)" % ord(_) for _ in value)
27+
return "||".join("CHR(%d)" % _ for _ in getOrds(value))
2728

2829
retVal = expression
2930

plugins/dbms/maxdb/syntax.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ class Syntax(GenericSyntax):
1111
@staticmethod
1212
def escape(expression, quote=True):
1313
"""
14-
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar")
15-
"SELECT 'abcdefgh' FROM foobar"
14+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == u"SELECT 'abcdefgh' FROM foobar"
15+
True
1616
"""
1717

1818
return expression

plugins/dbms/mssqlserver/syntax.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,21 @@
55
See the file 'LICENSE' for copying permission
66
"""
77

8+
from lib.core.common import getOrds
89
from lib.core.compat import xrange
910
from plugins.generic.syntax import Syntax as GenericSyntax
1011

1112
class Syntax(GenericSyntax):
1213
@staticmethod
1314
def escape(expression, quote=True):
1415
"""
15-
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar")
16-
'SELECT CHAR(97)+CHAR(98)+CHAR(99)+CHAR(100)+CHAR(101)+CHAR(102)+CHAR(103)+CHAR(104) FROM foobar'
16+
>>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT CHAR(97)+CHAR(98)+CHAR(99)+CHAR(100)+CHAR(101)+CHAR(102)+CHAR(103)+CHAR(104) FROM foobar"
17+
True
18+
>>> Syntax.escape(u"SELECT 'abcd\xebfgh' FROM foobar") == "SELECT CHAR(97)+CHAR(98)+CHAR(99)+CHAR(100)+NCHAR(235)+CHAR(102)+CHAR(103)+CHAR(104) FROM foobar"
19+
True
1720
"""
1821

1922
def escaper(value):
20-
return "+".join("%s(%d)" % ("CHAR" if ord(value[i]) < 256 else "NCHAR", ord(value[i])) for i in xrange(len(value)))
23+
return "+".join("%s(%d)" % ("CHAR" if _ < 128 else "NCHAR", _) for _ in getOrds(value))
2124

2225
return Syntax._escape(expression, quote, escaper)

0 commit comments

Comments
 (0)