some optimization

This commit is contained in:
Miroslav Stampar 2011-12-21 23:23:00 +00:00
parent a6310c0b21
commit b77e2042f2
3 changed files with 16 additions and 9 deletions

View File

@ -95,13 +95,13 @@ def main():
logger.critical(e)
closeDumper(False, e)
except KeyboardInterrupt, _:
except KeyboardInterrupt:
print
errMsg = "user aborted"
logger.error(errMsg)
closeDumper(False, errMsg)
except EOFError, _:
except EOFError:
print
errMsg = "exit"
logger.error(errMsg)
@ -127,7 +127,10 @@ def main():
kb.threadException = True
if conf.get('hashDB', None):
conf.hashDB.flush(True)
try:
conf.hashDB.flush(True)
except KeyboardInterrupt:
pass
# Reference: http://stackoverflow.com/questions/1635080/terminate-a-multi-thread-python-program
if hasattr(conf, "threads") and conf.threads > 1:

View File

@ -1340,10 +1340,14 @@ def parseUnionPage(output, expression, partial=False, sort=True):
output = re.findall(regExpr, output, re.DOTALL | re.IGNORECASE)
if sort:
dict_ = {}
_ = []
unique = set()
for entry in output:
dict_[entry.lower()] = entry
output = dict_.values()
key = entry.lower()
if key not in unique:
unique.add(key)
_.append(entry)
output = _
for entry in output:
entry = safecharencode(entry) if kb.safeCharEncode else entry
@ -1356,7 +1360,7 @@ def parseUnionPage(output, expression, partial=False, sort=True):
if len(entry) == 1:
data.append(entry[0])
else:
data.append(list(entry))
data.append(entry)
else:
data = output

View File

@ -72,10 +72,10 @@ def __oneShotUnionUse(expression, unpack=True, limited=False):
# Parse the returned page to get the exact union-based
# sql injection output
retVal = reduce(lambda x, y: x if x is not None else y, [ \
retVal = reduce(lambda x, y: x if x is not None else y, ( \
extractRegexResult(check, removeReflectiveValues(page, payload), re.DOTALL | re.IGNORECASE), \
extractRegexResult(check, removeReflectiveValues(listToStrValue(headers.headers \
if headers else None), payload, True), re.DOTALL | re.IGNORECASE)], \
if headers else None), payload, True), re.DOTALL | re.IGNORECASE)), \
None)
if retVal is not None: