Locale module screws string.letters, etc. in some cases (e.g. IDLE run)

This commit is contained in:
Miroslav Stampar 2013-06-01 14:06:58 +02:00
parent ca53dfad84
commit 351c70b390
6 changed files with 10 additions and 10 deletions

View File

@ -931,9 +931,9 @@ def randomStr(length=4, lowercase=False, alphabet=None):
if alphabet: if alphabet:
retVal = "".join(random.choice(alphabet) for _ in xrange(0, length)) retVal = "".join(random.choice(alphabet) for _ in xrange(0, length))
elif lowercase: elif lowercase:
retVal = "".join(random.choice(string.lowercase) for _ in xrange(0, length)) retVal = "".join(random.choice(string.ascii_lowercase) for _ in xrange(0, length))
else: else:
retVal = "".join(random.choice(string.letters) for _ in xrange(0, length)) retVal = "".join(random.choice(string.ascii_letters) for _ in xrange(0, length))
return retVal return retVal

View File

@ -60,7 +60,7 @@ def purge(directory):
logger.debug("renaming filenames to random values") logger.debug("renaming filenames to random values")
for filepath in filepaths: for filepath in filepaths:
try: try:
os.rename(filepath, os.path.join(os.path.dirname(filepath), "".join(random.sample(string.letters, random.randint(4, 8))))) os.rename(filepath, os.path.join(os.path.dirname(filepath), "".join(random.sample(string.ascii_letters, random.randint(4, 8)))))
except: except:
pass pass
@ -69,7 +69,7 @@ def purge(directory):
logger.debug("renaming directory names to random values") logger.debug("renaming directory names to random values")
for dirpath in dirpaths: for dirpath in dirpaths:
try: try:
os.rename(dirpath, os.path.join(os.path.dirname(dirpath), "".join(random.sample(string.letters, random.randint(4, 8))))) os.rename(dirpath, os.path.join(os.path.dirname(dirpath), "".join(random.sample(string.ascii_letters, random.randint(4, 8)))))
except: except:
pass pass

View File

@ -447,7 +447,7 @@ HASHDB_FLUSH_THRESHOLD = 32
HASHDB_FLUSH_RETRIES = 3 HASHDB_FLUSH_RETRIES = 3
# Unique milestone value used for forced deprecation of old HashDB values (e.g. when changing hash/pickle mechanism) # Unique milestone value used for forced deprecation of old HashDB values (e.g. when changing hash/pickle mechanism)
HASHDB_MILESTONE_VALUE = "cAWxkLYCQT" # r5129 "".join(random.sample(string.letters, 10)) HASHDB_MILESTONE_VALUE = "cAWxkLYCQT" # r5129 "".join(random.sample(string.ascii_letters, 10))
# Warn user of possible delay due to large page dump in full UNION query injections # Warn user of possible delay due to large page dump in full UNION query injections
LARGE_OUTPUT_THRESHOLD = 1024 ** 2 LARGE_OUTPUT_THRESHOLD = 1024 ** 2
@ -468,7 +468,7 @@ MAX_TOTAL_REDIRECTIONS = 10
MAX_DNS_LABEL = 63 MAX_DNS_LABEL = 63
# Alphabet used for prefix and suffix strings of name resolution requests in DNS technique (excluding hexadecimal chars for not mixing with inner content) # Alphabet used for prefix and suffix strings of name resolution requests in DNS technique (excluding hexadecimal chars for not mixing with inner content)
DNS_BOUNDARIES_ALPHABET = re.sub("[a-fA-F]", "", string.letters) DNS_BOUNDARIES_ALPHABET = re.sub("[a-fA-F]", "", string.ascii_letters)
# Alphabet used for heuristic checks # Alphabet used for heuristic checks
HEURISTIC_CHECK_ALPHABET = ('"', '\'', ')', '(', '[', ']', ',', '.') HEURISTIC_CHECK_ALPHABET = ('"', '\'', ')', '(', '[', ']', ',', '.')

View File

@ -36,7 +36,7 @@ def tamper(payload, **kwargs):
if payload: if payload:
for i in xrange(len(payload)): for i in xrange(len(payload)):
if payload[i].isspace(): if payload[i].isspace():
randomStr = ''.join(random.choice(string.ascii_uppercase + string.lowercase) for _ in xrange(random.randint(6, 12))) randomStr = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase) for _ in xrange(random.randint(6, 12)))
retVal += "--%s%%0A" % randomStr retVal += "--%s%%0A" % randomStr
elif payload[i] == '#' or payload[i:i + 3] == '-- ': elif payload[i] == '#' or payload[i:i + 3] == '-- ':
retVal += payload[i:] retVal += payload[i:]

View File

@ -44,7 +44,7 @@ def tamper(payload, **kwargs):
if payload: if payload:
for i in xrange(len(payload)): for i in xrange(len(payload)):
if payload[i].isspace(): if payload[i].isspace():
randomStr = ''.join(random.choice(string.ascii_uppercase + string.lowercase) for _ in xrange(random.randint(6, 12))) randomStr = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase) for _ in xrange(random.randint(6, 12)))
retVal += "%%23%s%%0A" % randomStr retVal += "%%23%s%%0A" % randomStr
elif payload[i] == '#' or payload[i:i + 3] == '-- ': elif payload[i] == '#' or payload[i:i + 3] == '-- ':
retVal += payload[i:] retVal += payload[i:]

View File

@ -44,7 +44,7 @@ def tamper(payload, **kwargs):
def process(match): def process(match):
word = match.group('word') word = match.group('word')
randomStr = ''.join(random.choice(string.ascii_uppercase + string.lowercase) for _ in xrange(random.randint(6, 12))) randomStr = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase) for _ in xrange(random.randint(6, 12)))
if word.upper() in kb.keywords and word.upper() not in IGNORE_SPACE_AFFECTED_KEYWORDS: if word.upper() in kb.keywords and word.upper() not in IGNORE_SPACE_AFFECTED_KEYWORDS:
return match.group().replace(word, "%s%%23%s%%0A" % (word, randomStr)) return match.group().replace(word, "%s%%23%s%%0A" % (word, randomStr))
@ -58,7 +58,7 @@ def tamper(payload, **kwargs):
for i in xrange(len(payload)): for i in xrange(len(payload)):
if payload[i].isspace(): if payload[i].isspace():
randomStr = ''.join(random.choice(string.ascii_uppercase + string.lowercase) for _ in xrange(random.randint(6, 12))) randomStr = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase) for _ in xrange(random.randint(6, 12)))
retVal += "%%23%s%%0A" % randomStr retVal += "%%23%s%%0A" % randomStr
elif payload[i] == '#' or payload[i:i + 3] == '-- ': elif payload[i] == '#' or payload[i:i + 3] == '-- ':
retVal += payload[i:] retVal += payload[i:]