Minor update

This commit is contained in:
Miroslav Stampar 2019-05-21 14:37:55 +02:00
parent 688150cf6c
commit 2546022b11
3 changed files with 11 additions and 6 deletions

View File

@ -133,6 +133,7 @@ from lib.core.settings import IGNORE_SAVE_OPTIONS
from lib.core.settings import INFERENCE_UNKNOWN_CHAR from lib.core.settings import INFERENCE_UNKNOWN_CHAR
from lib.core.settings import IP_ADDRESS_REGEX from lib.core.settings import IP_ADDRESS_REGEX
from lib.core.settings import ISSUES_PAGE from lib.core.settings import ISSUES_PAGE
from lib.core.settings import IS_TTY
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN
from lib.core.settings import LARGE_OUTPUT_THRESHOLD from lib.core.settings import LARGE_OUTPUT_THRESHOLD
from lib.core.settings import LOCALHOST from lib.core.settings import LOCALHOST
@ -928,7 +929,7 @@ def setColor(message, color=None, bold=False, level=None, istty=None):
retVal = message retVal = message
level = level or extractRegexResult(r"\[(?P<result>%s)\]" % '|'.join(_[0] for _ in getPublicTypeMembers(LOGGING_LEVELS)), message) level = level or extractRegexResult(r"\[(?P<result>%s)\]" % '|'.join(_[0] for _ in getPublicTypeMembers(LOGGING_LEVELS)), message)
if message and getattr(LOGGER_HANDLER, "is_tty", False) or istty: # colorizing handler if message and IS_TTY or istty: # colorizing handler
if bold or color: if bold or color:
retVal = colored(message, color=color, on_color=None, attrs=("bold",) if bold else None) retVal = colored(message, color=color, on_color=None, attrs=("bold",) if bold else None)
elif level: elif level:
@ -1064,7 +1065,7 @@ def readInput(message, default=None, checkBatch=True, boolean=False):
elif answer is None and retVal: elif answer is None and retVal:
retVal = "%s,%s" % (retVal, getUnicode(item, UNICODE_ENCODING)) retVal = "%s,%s" % (retVal, getUnicode(item, UNICODE_ENCODING))
if message and getattr(LOGGER_HANDLER, "is_tty", False): if message and IS_TTY:
message = "\r%s" % message message = "\r%s" % message
if retVal: if retVal:
@ -1256,7 +1257,7 @@ def banner():
if not any(_ in sys.argv for _ in ("--version", "--api")) and not conf.get("disableBanner"): if not any(_ in sys.argv for _ in ("--version", "--api")) and not conf.get("disableBanner"):
_ = BANNER _ = BANNER
if not getattr(LOGGER_HANDLER, "is_tty", False) or "--disable-coloring" in sys.argv: if not IS_TTY or "--disable-coloring" in sys.argv:
_ = clearColors(_) _ = clearColors(_)
elif IS_WIN: elif IS_WIN:
coloramainit() coloramainit()
@ -2168,7 +2169,7 @@ def clearConsoleLine(forceOutput=False):
Clears current console line Clears current console line
""" """
if getattr(LOGGER_HANDLER, "is_tty", False): if IS_TTY:
dataToStdout("\r%s\r" % (" " * (getConsoleWidth() - 1)), forceOutput) dataToStdout("\r%s\r" % (" " * (getConsoleWidth() - 1)), forceOutput)
kb.prependFlag = False kb.prependFlag = False

View File

@ -20,6 +20,7 @@ import sys
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.settings import INVALID_UNICODE_PRIVATE_AREA from lib.core.settings import INVALID_UNICODE_PRIVATE_AREA
from lib.core.settings import IS_TTY
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN
from lib.core.settings import NULL from lib.core.settings import NULL
from lib.core.settings import PICKLE_PROTOCOL from lib.core.settings import PICKLE_PROTOCOL
@ -107,7 +108,7 @@ def shellExec(cmd): # Cross-referenced function
def stdoutEncode(value): def stdoutEncode(value):
value = value or "" value = value or ""
if IS_WIN and kb.get("codePage", -1) is None: if IS_WIN and IS_TTY and kb.get("codePage", -1) is None:
output = shellExec("chcp") output = shellExec("chcp")
match = re.search(r": (\d{3,})", output or "") match = re.search(r": (\d{3,})", output or "")

View File

@ -18,7 +18,7 @@ from lib.core.enums import OS
from thirdparty.six import unichr as _unichr from thirdparty.six import unichr as _unichr
# sqlmap version (<major>.<minor>.<month>.<monthly commit>) # sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.3.5.124" VERSION = "1.3.5.125"
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE) VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
@ -233,6 +233,9 @@ PLATFORM = os.name
PYVERSION = sys.version.split()[0] PYVERSION = sys.version.split()[0]
IS_WIN = PLATFORM == "nt" IS_WIN = PLATFORM == "nt"
# Check if running in terminal
IS_TTY = os.isatty(sys.stdout.fileno())
# DBMS system databases # DBMS system databases
MSSQL_SYSTEM_DBS = ("Northwind", "master", "model", "msdb", "pubs", "tempdb") MSSQL_SYSTEM_DBS = ("Northwind", "master", "model", "msdb", "pubs", "tempdb")
MYSQL_SYSTEM_DBS = ("information_schema", "mysql", "performance_schema", "sys") MYSQL_SYSTEM_DBS = ("information_schema", "mysql", "performance_schema", "sys")