this is a must for partial union. there are lots of cases with dumping of huge tables and user doesn't know a squirt if sqlmap is running or not (compromise is that this is only displayed if the verbose level is not touched by the user)

This commit is contained in:
Miroslav Stampar 2011-03-25 20:30:15 +00:00
parent af39a441fa
commit 737b4abf13

View File

@ -13,6 +13,8 @@ import time
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import calculateDeltaSeconds from lib.core.common import calculateDeltaSeconds
from lib.core.common import clearConsoleLine
from lib.core.common import dataToStdout
from lib.core.common import extractRegexResult from lib.core.common import extractRegexResult
from lib.core.common import filterStringValue from lib.core.common import filterStringValue
from lib.core.common import getUnicode from lib.core.common import getUnicode
@ -250,6 +252,15 @@ def unionUse(expression, unpack=True, dump=False):
value += output value += output
parseUnionPage(output, limitedExpr) parseUnionPage(output, limitedExpr)
if conf.verbose == 1:
length = stopLimit - startLimit
count = num - startLimit + 1
status = '%d/%d entries (%d%s)' % (count, length, round(100.0*count/length), '%')
dataToStdout("\r[%s] [INFO] retrieved: %s" % (time.strftime("%X"), status), True)
if conf.verbose == 1:
clearConsoleLine(True)
except KeyboardInterrupt: except KeyboardInterrupt:
print print
warnMsg = "Ctrl+C detected in dumping phase" warnMsg = "Ctrl+C detected in dumping phase"