File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1919from lib .core .enums import OS
2020
2121# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
22- VERSION = "1.2.2.4 "
22+ VERSION = "1.2.2.5 "
2323TYPE = "dev" if VERSION .count ('.' ) > 2 and VERSION .split ('.' )[- 1 ] != '0' else "stable"
2424TYPE_COLORS = {"dev" : 33 , "stable" : 90 , "pip" : 34 }
2525VERSION_STRING = "sqlmap/%s#%s" % ('.' .join (VERSION .split ('.' )[:- 1 ]) if VERSION .count ('.' ) > 2 and VERSION .split ('.' )[- 1 ] == '0' else VERSION , TYPE )
Original file line number Diff line number Diff line change @@ -16,8 +16,7 @@ def dependencies():
1616
1717def tamper (payload , ** kwargs ):
1818 """
19- Converts all characters in a given payload (not processing already
20- encoded)
19+ Converts all (non-alphanum) characters in a given payload (not processing already encoded)
2120
2221 Reference: https://www.acunetix.com/vulnerabilities/unicode-transformation-issues/
2322 Reference: https://www.thecodingforums.com/threads/newbie-question-about-character-encoding-what-does-0xc0-0x8a-have-in-common-with-0xe0-0x80-0x8a.170201/
Original file line number Diff line number Diff line change 1+ #!/usr/bin/env python
2+
3+ """
4+ Copyright (c) 2006-2018 sqlmap developers (http://sqlmap.org/)
5+ See the file 'LICENSE' for copying permission
6+ """
7+
8+ import string
9+
10+ from lib .core .enums import PRIORITY
11+
12+ __priority__ = PRIORITY .LOWEST
13+
14+ def dependencies ():
15+ pass
16+
17+ def tamper (payload , ** kwargs ):
18+ """
19+ Converts all characters in a given payload (not processing already encoded)
20+
21+ Reference: https://www.acunetix.com/vulnerabilities/unicode-transformation-issues/
22+ Reference: https://www.thecodingforums.com/threads/newbie-question-about-character-encoding-what-does-0xc0-0x8a-have-in-common-with-0xe0-0x80-0x8a.170201/
23+
24+ >>> tamper('SELECT FIELD FROM TABLE WHERE 2>1')
25+ '%C1%93%C1%85%C1%8C%C1%85%C1%83%C1%94%C0%A0%C1%86%C1%89%C1%85%C1%8C%C1%84%C0%A0%C1%86%C1%92%C1%8F%C1%8D%C0%A0%C1%94%C1%81%C1%82%C1%8C%C1%85%C0%A0%C1%97%C1%88%C1%85%C1%92%C1%85%C0%A0%C0%B2%C0%BE%C0%B1'
26+ """
27+
28+ retVal = payload
29+
30+ if payload :
31+ retVal = ""
32+ i = 0
33+
34+ while i < len (payload ):
35+ if payload [i ] == '%' and (i < len (payload ) - 2 ) and payload [i + 1 :i + 2 ] in string .hexdigits and payload [i + 2 :i + 3 ] in string .hexdigits :
36+ retVal += payload [i :i + 3 ]
37+ i += 3
38+ else :
39+ retVal += "%%%.2X%%%.2X" % (0xc0 + (ord (payload [i ]) >> 6 ), 0x80 + (ord (payload [i ]) & 0x3f ))
40+ i += 1
41+
42+ return retVal
Original file line number Diff line number Diff line change @@ -46,7 +46,7 @@ ffa5f01f39b17c8d73423acca6cfe86a lib/core/readlineng.py
46460c3eef46bdbf87e29a3f95f90240d192 lib/core/replication.py
4747a7db43859b61569b601b97f187dd31c5 lib/core/revision.py
4848fcb74fcc9577523524659ec49e2e964b lib/core/session.py
49- 20d4b1198a1583059a993ea7864c79c4 lib/core/settings.py
49+ 15c5a15fc1c24170aff99c32d2bae75d lib/core/settings.py
5050d0adc28a38e43a787df4471f7f027413 lib/core/shell.py
515163491be462c515a1a3880c27c2acc4a2 lib/core/subprocessng.py
5252505aaa61e1bba3c3d4567c3e667699e3 lib/core/target.py
@@ -254,7 +254,8 @@ e44163d21e055805b5e55667e72f5978 tamper/modsecurityversioned.py
254254f83a11d594fad3ed3291074c7b37b281 tamper/modsecurityzeroversioned.py
255255abd6490408551a8c8226a32fbc2b5345 tamper/multiplespaces.py
256256be757e4c9a6fb36af7b9a8c444fddb05 tamper/nonrecursivereplacement.py
257- 7de367954d124c29847c23909d82d92e tamper/overlongutf8.py
257+ e298e486c06bb39d81f10d61a5c4ceec tamper/overlongutf8more.py
258+ b9f698556f8333d9fa6eadaab44a77ab tamper/overlongutf8.py
258259bc0363e4fc04240c9f7b81e4ecce0714 tamper/percentage.py
2592604fa8b6c0e7573e395330bb6a405abbaf tamper/plus2concat.py
2602615b947c6cd78eab22ee53f5f534c532d3 tamper/plus2fnconcat.py
You can’t perform that action at this time.
0 commit comments