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

Function randomizeParameterValue

lib/core/common.py:4505–4555  ·  view source on GitHub ↗

Randomize a parameter value based on occurrences of alphanumeric characters >>> random.seed(0) >>> randomizeParameterValue('foobar') 'fupgpy' >>> randomizeParameterValue('17') '36'

(value)

Source from the content-addressed store, hash-verified

4503 return retVal
4504
4505def randomizeParameterValue(value):
4506 """
4507 Randomize a parameter value based on occurrences of alphanumeric characters
4508
4509 >>> random.seed(0)
4510 >>> randomizeParameterValue('foobar')
4511 'fupgpy'
4512 >>> randomizeParameterValue('17')
4513 '36'
4514 """
4515
4516 retVal = value
4517
4518 value = re.sub(r"%[0-9a-fA-F]{2}", "", value)
4519
4520 for match in re.finditer(r"[A-Z]+", value):
4521 while True:
4522 original = match.group()
4523 candidate = randomStr(len(match.group())).upper()
4524 if original != candidate:
4525 break
4526
4527 retVal = retVal.replace(original, candidate)
4528
4529 for match in re.finditer(r"[a-z]+", value):
4530 while True:
4531 original = match.group()
4532 candidate = randomStr(len(match.group())).lower()
4533 if original != candidate:
4534 break
4535
4536 retVal = retVal.replace(original, candidate)
4537
4538 for match in re.finditer(r"[0-9]+", value):
4539 while True:
4540 original = match.group()
4541 candidate = str(randomInt(len(match.group())))
4542 if original != candidate:
4543 break
4544
4545 retVal = retVal.replace(original, candidate, 1)
4546
4547 if re.match(r"\A[^@]+@.+\.[a-z]+\Z", value):
4548 parts = retVal.split('.')
4549 parts[-1] = random.sample(RANDOMIZATION_TLDS, 1)[0]
4550 retVal = '.'.join(parts)
4551
4552 if not retVal:
4553 retVal = randomStr(lowercase=True)
4554
4555 return retVal
4556
4557@cachedmethod
4558def asciifyUrl(url, forceQuote=False):

Callers 1

_randomizeParameterMethod · 0.90

Calls 4

randomStrFunction · 0.85
randomIntFunction · 0.85
replaceMethod · 0.45
matchMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…