mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-07-21 21:49:58 +03:00
Making payloads a bit shorter (removing redundant space after comma character - e.g. in inband queries)
This commit is contained in:
parent
6f450ac8bf
commit
8ee9feafb9
|
@ -364,8 +364,8 @@ class Agent:
|
||||||
if fields.startswith("(CASE") or fields.startswith("(IIF") or fields.startswith("SUBSTR") or fields.startswith("MID(") or re.search(r"\A'[^']+'\Z", fields):
|
if fields.startswith("(CASE") or fields.startswith("(IIF") or fields.startswith("SUBSTR") or fields.startswith("MID(") or re.search(r"\A'[^']+'\Z", fields):
|
||||||
nulledCastedConcatFields = fields
|
nulledCastedConcatFields = fields
|
||||||
else:
|
else:
|
||||||
fields = fields.replace(", ", ",")
|
fields = fields.replace(", ", ',')
|
||||||
fieldsSplitted = fields.split(",")
|
fieldsSplitted = fields.split(',')
|
||||||
dbmsDelimiter = queries[Backend.getIdentifiedDbms()].delimiter.query
|
dbmsDelimiter = queries[Backend.getIdentifiedDbms()].delimiter.query
|
||||||
nulledCastedFields = []
|
nulledCastedFields = []
|
||||||
|
|
||||||
|
@ -428,8 +428,8 @@ class Agent:
|
||||||
if re.search("\A\w+\(.*\)", fieldsToCastStr, re.I) or (fieldsSelectCase and "WHEN use" not in query) or fieldsSubstr:
|
if re.search("\A\w+\(.*\)", fieldsToCastStr, re.I) or (fieldsSelectCase and "WHEN use" not in query) or fieldsSubstr:
|
||||||
fieldsToCastList = [fieldsToCastStr]
|
fieldsToCastList = [fieldsToCastStr]
|
||||||
else:
|
else:
|
||||||
fieldsToCastList = fieldsToCastStr.replace(", ", ",")
|
fieldsToCastList = fieldsToCastStr.replace(", ", ',')
|
||||||
fieldsToCastList = fieldsToCastList.split(",")
|
fieldsToCastList = fieldsToCastList.split(',')
|
||||||
|
|
||||||
return fieldsSelectFrom, fieldsSelect, fieldsNoSelect, fieldsSelectTop, fieldsSelectCase, fieldsToCastList, fieldsToCastStr, fieldsExists
|
return fieldsSelectFrom, fieldsSelect, fieldsNoSelect, fieldsSelectTop, fieldsSelectCase, fieldsToCastList, fieldsToCastStr, fieldsExists
|
||||||
|
|
||||||
|
@ -475,7 +475,7 @@ class Agent:
|
||||||
|
|
||||||
if unpack:
|
if unpack:
|
||||||
concatenatedQuery = ""
|
concatenatedQuery = ""
|
||||||
query = query.replace(", ", ",")
|
query = query.replace(", ", ',')
|
||||||
fieldsSelectFrom, fieldsSelect, fieldsNoSelect, fieldsSelectTop, fieldsSelectCase, _, fieldsToCastStr, fieldsExists = self.getFields(query)
|
fieldsSelectFrom, fieldsSelect, fieldsNoSelect, fieldsSelectTop, fieldsSelectCase, _, fieldsToCastStr, fieldsExists = self.getFields(query)
|
||||||
castedFields = self.nullCastConcatFields(fieldsToCastStr)
|
castedFields = self.nullCastConcatFields(fieldsToCastStr)
|
||||||
concatenatedQuery = query.replace(fieldsToCastStr, castedFields, 1)
|
concatenatedQuery = query.replace(fieldsToCastStr, castedFields, 1)
|
||||||
|
@ -597,7 +597,7 @@ class Agent:
|
||||||
inbandQuery = self.prefixQuery("%sUNION ALL SELECT " % limitOriginal, prefix=prefix)
|
inbandQuery = self.prefixQuery("%sUNION ALL SELECT " % limitOriginal, prefix=prefix)
|
||||||
|
|
||||||
if limited:
|
if limited:
|
||||||
inbandQuery += ",".join(char if _ != position else '(SELECT %s)' % query for _ in xrange(0, count))
|
inbandQuery += ','.join(char if _ != position else '(SELECT %s)' % query for _ in xrange(0, count))
|
||||||
inbandQuery += FROM_DUMMY_TABLE.get(Backend.getIdentifiedDbms(), "")
|
inbandQuery += FROM_DUMMY_TABLE.get(Backend.getIdentifiedDbms(), "")
|
||||||
inbandQuery = self.suffixQuery(inbandQuery, comment, suffix)
|
inbandQuery = self.suffixQuery(inbandQuery, comment, suffix)
|
||||||
|
|
||||||
|
@ -620,7 +620,7 @@ class Agent:
|
||||||
|
|
||||||
for element in xrange(0, count):
|
for element in xrange(0, count):
|
||||||
if element > 0:
|
if element > 0:
|
||||||
inbandQuery += ", "
|
inbandQuery += ','
|
||||||
|
|
||||||
if element == position:
|
if element == position:
|
||||||
if " FROM " in query and ("(CASE " not in query or ("(CASE " in query and "WHEN use" in query)) and "EXISTS(" not in query and not query.startswith("SELECT "):
|
if " FROM " in query and ("(CASE " not in query or ("(CASE " in query and "WHEN use" in query)) and "EXISTS(" not in query and not query.startswith("SELECT "):
|
||||||
|
@ -647,7 +647,7 @@ class Agent:
|
||||||
|
|
||||||
for element in xrange(count):
|
for element in xrange(count):
|
||||||
if element > 0:
|
if element > 0:
|
||||||
inbandQuery += ", "
|
inbandQuery += ','
|
||||||
|
|
||||||
if element == position:
|
if element == position:
|
||||||
inbandQuery += multipleUnions
|
inbandQuery += multipleUnions
|
||||||
|
@ -707,7 +707,7 @@ class Agent:
|
||||||
delimiter = queries[Backend.getIdentifiedDbms()].delimiter.query
|
delimiter = queries[Backend.getIdentifiedDbms()].delimiter.query
|
||||||
limitedQuery = "%s FROM (%s,%s" % (untilFrom, untilFrom.replace(delimiter, ','), limitStr)
|
limitedQuery = "%s FROM (%s,%s" % (untilFrom, untilFrom.replace(delimiter, ','), limitStr)
|
||||||
else:
|
else:
|
||||||
limitedQuery = "%s FROM (SELECT %s, %s" % (untilFrom, ", ".join(f for f in field), limitStr)
|
limitedQuery = "%s FROM (SELECT %s,%s" % (untilFrom, ','.join(f for f in field), limitStr)
|
||||||
limitedQuery = limitedQuery % fromFrom
|
limitedQuery = limitedQuery % fromFrom
|
||||||
limitedQuery += "=%d" % (num + 1)
|
limitedQuery += "=%d" % (num + 1)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user