mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-01-23 15:54:24 +03:00
Fixes #3037
This commit is contained in:
parent
a8cb14ed4a
commit
148d1c9ff9
|
@ -1493,6 +1493,23 @@ def parseTargetUrl():
|
|||
if conf.url != originalUrl:
|
||||
kb.originalUrls[conf.url] = originalUrl
|
||||
|
||||
def escapeJsonValue(value):
|
||||
"""
|
||||
Escapes JSON value (used in payloads)
|
||||
|
||||
# Reference: https://stackoverflow.com/a/16652683
|
||||
"""
|
||||
|
||||
retVal = ""
|
||||
|
||||
for char in value:
|
||||
if char < ' ' or char == '"':
|
||||
retVal += json.dumps(char)[1:-1]
|
||||
else:
|
||||
retVal += char
|
||||
|
||||
return retVal
|
||||
|
||||
def expandAsteriskForColumns(expression):
|
||||
"""
|
||||
If the user provided an asterisk rather than the column(s)
|
||||
|
|
|
@ -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.2.4.13"
|
||||
VERSION = "1.2.4.14"
|
||||
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)
|
||||
|
|
|
@ -34,6 +34,7 @@ from lib.core.common import calculateDeltaSeconds
|
|||
from lib.core.common import checkSameHost
|
||||
from lib.core.common import clearConsoleLine
|
||||
from lib.core.common import dataToStdout
|
||||
from lib.core.common import escapeJsonValue
|
||||
from lib.core.common import evaluateCode
|
||||
from lib.core.common import extractRegexResult
|
||||
from lib.core.common import findMultipartPostBoundary
|
||||
|
@ -841,16 +842,10 @@ class Connect(object):
|
|||
# with their HTML encoded counterparts
|
||||
payload = payload.replace('>', ">").replace('<', "<")
|
||||
elif kb.postHint == POST_HINT.JSON:
|
||||
if payload.startswith('"') and payload.endswith('"'):
|
||||
payload = json.dumps(payload[1:-1])
|
||||
else:
|
||||
payload = json.dumps(payload)[1:-1]
|
||||
payload = escapeJsonValue(payload)
|
||||
elif kb.postHint == POST_HINT.JSON_LIKE:
|
||||
payload = payload.replace("'", REPLACEMENT_MARKER).replace('"', "'").replace(REPLACEMENT_MARKER, '"')
|
||||
if payload.startswith('"') and payload.endswith('"'):
|
||||
payload = json.dumps(payload[1:-1])
|
||||
else:
|
||||
payload = json.dumps(payload)[1:-1]
|
||||
payload = escapeJsonValue(payload)
|
||||
payload = payload.replace("'", REPLACEMENT_MARKER).replace('"', "'").replace(REPLACEMENT_MARKER, '"')
|
||||
value = agent.replacePayload(value, payload)
|
||||
else:
|
||||
|
|
|
@ -27,7 +27,7 @@ c7443613a0a2505b1faec931cee2a6ef lib/controller/handler.py
|
|||
1e5532ede194ac9c083891c2f02bca93 lib/controller/__init__.py
|
||||
b1990c7805943f0c973a853bba981d96 lib/core/agent.py
|
||||
fd8f239e259afaf5f24bcf34a0ad187f lib/core/bigarray.py
|
||||
31cd0692a626da935b1cac8f2cfba25a lib/core/common.py
|
||||
7f97f69794a24670ccba1bb531815433 lib/core/common.py
|
||||
0d082da16c388b3445e656e0760fb582 lib/core/convert.py
|
||||
9f87391b6a3395f7f50830b391264f27 lib/core/data.py
|
||||
72016ea5c994a711a262fd64572a0fcd lib/core/datatype.py
|
||||
|
@ -46,7 +46,7 @@ c9a56e58984420a5abb7a3f7aadc196d lib/core/optiondict.py
|
|||
0c3eef46bdbf87e29a3f95f90240d192 lib/core/replication.py
|
||||
a7db43859b61569b601b97f187dd31c5 lib/core/revision.py
|
||||
fcb74fcc9577523524659ec49e2e964b lib/core/session.py
|
||||
8a247c468eef23045b8537d4ff98d823 lib/core/settings.py
|
||||
2d6842f03c9916a90467f9720ebb35b0 lib/core/settings.py
|
||||
0dfc2ed40adf72e302291f6ecd4406f6 lib/core/shell.py
|
||||
a7edc9250d13af36ac0108f259859c19 lib/core/subprocessng.py
|
||||
a35efa7bec9f1e6cedf17c9830a79241 lib/core/target.py
|
||||
|
@ -68,7 +68,7 @@ ec4e56bbb1349176b2a22e0b99ba6a55 lib/parse/payloads.py
|
|||
30eed3a92a04ed2c29770e1b10d39dc0 lib/request/basicauthhandler.py
|
||||
7e8e0a3fdebbe443832c1bab2f8d3869 lib/request/basic.py
|
||||
c0cabedead14b8a23353b606672cff42 lib/request/comparison.py
|
||||
1865164621eb94c9c231006765065c17 lib/request/connect.py
|
||||
e2b40b94446d59fb25abe68c429bae74 lib/request/connect.py
|
||||
dd4598675027fae99f2e2475b05986da lib/request/direct.py
|
||||
2044fce3f4ffa268fcfaaf63241b1e64 lib/request/dns.py
|
||||
eee965d781546d05f36cfd14af050913 lib/request/httpshandler.py
|
||||
|
|
Loading…
Reference in New Issue
Block a user