MCPcopy Index your code
hub / github.com/sqlmapproject/sqlmap / chunkSplitPostData

Function chunkSplitPostData

lib/core/common.py:5568–5603  ·  view source on GitHub ↗

Convert POST data to chunked transfer-encoded data (Note: splitting done by SQL keywords) >>> random.seed(0) >>> chunkSplitPostData("SELECT username,password FROM users") '5;4Xe90\\r\\nSELEC\\r\\n3;irWlc\\r\\nT u\\r\\n1;eT4zO\\r\\ns\\r\\n5;YB4hM\\r\\nernam\\r\\n9;2pUD8\\r\\ne,passw

(data)

Source from the content-addressed store, hash-verified

5566 return re.sub(r"\A(%s) " % '|'.join(re.escape(__) for __ in getPublicTypeMembers(POST_HINT, onlyValues=True)), "", value)
5567
5568def chunkSplitPostData(data):
5569 """
5570 Convert POST data to chunked transfer-encoded data (Note: splitting done by SQL keywords)
5571
5572 >>> random.seed(0)
5573 >>> chunkSplitPostData("SELECT username,password FROM users")
5574 '5;4Xe90\\r\\nSELEC\\r\\n3;irWlc\\r\\nT u\\r\\n1;eT4zO\\r\\ns\\r\\n5;YB4hM\\r\\nernam\\r\\n9;2pUD8\\r\\ne,passwor\\r\\n3;mp07y\\r\\nd F\\r\\n5;8RKXi\\r\\nROM u\\r\\n4;MvMhO\\r\\nsers\\r\\n0\\r\\n\\r\\n'
5575 """
5576
5577 length = len(data)
5578 retVal = ""
5579 index = 0
5580
5581 while index < length:
5582 chunkSize = randomInt(1)
5583
5584 if index + chunkSize >= length:
5585 chunkSize = length - index
5586
5587 salt = randomStr(5, alphabet=string.ascii_letters + string.digits)
5588
5589 while chunkSize:
5590 candidate = data[index:index + chunkSize]
5591
5592 if re.search(r"\b%s\b" % '|'.join(HTTP_CHUNKED_SPLIT_KEYWORDS), candidate, re.I):
5593 chunkSize -= 1
5594 else:
5595 break
5596
5597 index += chunkSize
5598 retVal += "%x;%s\r\n" % (chunkSize, salt)
5599 retVal += "%s\r\n" % candidate
5600
5601 retVal += "0\r\n\r\n"
5602
5603 return retVal
5604
5605def checkSums():
5606 """

Callers 1

getPageMethod · 0.90

Calls 3

randomIntFunction · 0.85
randomStrFunction · 0.85
searchMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…