def __saveCmdline(): """ Saves the command line options on a sqlmap configuration INI file format. """ if not conf.saveCmdline: return debugMsg = "saving command line options on a sqlmap configuration INI file" logger.debug(debugMsg) config = UnicodeRawConfigParser() userOpts = {} for family in optDict.keys(): userOpts[family] = [] for option, value in conf.items(): for family, optionData in optDict.items(): if option in optionData: userOpts[family].append((option, value, optionData[option])) for family, optionData in userOpts.items(): config.add_section(family) optionData.sort() for option, value, datatype in optionData: if isinstance(datatype, (list, tuple, set)): datatype = datatype[0] if value is None: if datatype == "boolean": value = "False" elif datatype in ( "integer", "float" ): if option in ( "threads", "verbose" ): value = "1" elif option == "timeout": value = "10" else: value = "0" elif datatype == "string": value = "" if isinstance(value, basestring): value = value.replace("\n", "\n ") config.set(family, option, value) confFP = codecs.open(paths.SQLMAP_CONFIG, "wb", conf.dataEncoding) config.write(confFP) infoMsg = "saved command line options on '%s' configuration file" % paths.SQLMAP_CONFIG logger.info(infoMsg)
def __saveCmdline(): """ Saves the command line options on a sqlmap configuration INI file format. """ if not conf.saveCmdline: return debugMsg = "saving command line options on a sqlmap configuration INI file" logger.debug(debugMsg) userOpts = {} for family in optDict.keys(): userOpts[family] = [] for option, value in conf.items(): for family, optionData in optDict.items(): if option in optionData: userOpts[family].append((option, value, optionData[option])) confFP = open(paths.SQLMAP_CONFIG, "w") for family, optionData in userOpts.items(): confFP.write("[%s]\n" % family) optionData.sort() for option, value, datatype in optionData: if value == None: if datatype == "boolean": value = "False" elif datatype in ("integer", "float"): if option in ("threads", "verbose"): value = "1" elif option == "timeout": value = "10" else: value = "0" elif datatype == "string": value = "" if isinstance(value, str): value = value.replace("\n", "\n ") confFP.write("%s = %s\n" % (option, value)) confFP.write("\n") confFP.flush() confFP.close() infoMsg = "saved command line options on '%s' configuration file" % paths.SQLMAP_CONFIG logger.info(infoMsg)
def __saveCmdline(): """ Saves the command line options on a sqlmap configuration INI file format. """ if not conf.saveCmdline: return debugMsg = "saving command line options on a sqlmap configuration INI file" logger.debug(debugMsg) userOpts = {} for family in optDict.keys(): userOpts[family] = [] for option, value in conf.items(): for family, optionData in optDict.items(): if option in optionData: userOpts[family].append((option, value, optionData[option])) confFP = open(paths.SQLMAP_CONFIG, "w") for family, optionData in userOpts.items(): confFP.write("[%s]\n" % family) optionData.sort() for option, value, datatype in optionData: if value == None: if datatype == "boolean": value = "False" elif datatype in ( "integer", "float" ): if option in ( "threads", "verbose" ): value = "1" elif option == "timeout": value = "10" else: value = "0" elif datatype == "string": value = "" if isinstance(value, str): value = value.replace("\n", "\n ") confFP.write("%s = %s\n" % (option, value)) confFP.write("\n") confFP.flush() confFP.close() infoMsg = "saved command line options on '%s' configuration file" % paths.SQLMAP_CONFIG logger.info(infoMsg)
def adjustValueType(tagName, value): for family in optDict.keys(): for name, type_ in optDict[family].items(): if type(type_) == tuple: type_ = type_[0] if tagName == name: if type_ == "boolean": value = (value == "True") elif type_ == "integer": value = int(value) elif type_ == "float": value = float(value) break return value