diff --git a/lib/core/common.py b/lib/core/common.py index 3e948b23d..54c072a17 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -2653,7 +2653,7 @@ def expandMnemonics(mnemonics, parser, args): if pointer in (None, head): errMsg = "mnemonic '%s' can't be resolved to any parameter name" % name - logger.error(errMsg) + raise sqlmapSyntaxException, errMsg elif len(pointer.current) > 1: options = {} for option in pointer.current: @@ -2678,5 +2678,8 @@ def expandMnemonics(mnemonics, parser, args): value = found.convert_value(found, value) if value is not None: setattr(args, found.dest, value) - else: + elif not found.type: # boolean setattr(args, found.dest, True) + else: + errMsg = "mnemonic '%s' requires value of type '%s'" % (name, found.type) + raise sqlmapSyntaxException, errMsg diff --git a/sqlmap.py b/sqlmap.py index 78b505571..e3c309b0d 100755 --- a/sqlmap.py +++ b/sqlmap.py @@ -63,17 +63,17 @@ def main(): Main function of sqlmap when running from command line. """ - paths.SQLMAP_ROOT_PATH = modulePath() - setPaths() - banner() - - # Store original command line options for possible later restoration - cmdLineOptions.update(cmdLineParser().__dict__) - - dataToStdout("[!] legal disclaimer: %s\n\n" % LEGAL_DISCLAIMER, forceOutput=True) - dataToStdout("[*] starting at %s\n\n" % time.strftime("%X"), forceOutput=True) - try: + paths.SQLMAP_ROOT_PATH = modulePath() + setPaths() + banner() + + # Store original command line options for possible later restoration + cmdLineOptions.update(cmdLineParser().__dict__) + + dataToStdout("[!] legal disclaimer: %s\n\n" % LEGAL_DISCLAIMER, forceOutput=True) + dataToStdout("[*] starting at %s\n\n" % time.strftime("%X"), forceOutput=True) + init(cmdLineOptions) if conf.profile: profile()