Пример #1
0
    def parseConfig(self):
        config = DefaultConfigParser()
        configPath = FileUtils.buildPath(self.script_path, "default.conf")
        config.read(configPath)

        # General
        self.threadsCount = config.safe_getint("general", "threads", 10, list(range(1, 50)))
        self.excludeStatusCodes = config.safe_get("general", "exclude-status", None)
        self.redirect = config.safe_getboolean("general", "follow-redirects", False)
        self.recursive = config.safe_getboolean("general", "recursive", False)
        self.recursive_level_max = config.safe_getint("general", "recursive-level-max", 1)
        self.suppressEmpty = config.safe_getboolean("general", "suppress-empty", False)
        self.testFailPath = config.safe_get("general", "scanner-fail-path", "").strip()
        self.saveHome = config.safe_getboolean("general", "save-logs-home", False)

        # Reports
        self.autoSave = config.safe_getboolean("reports", "autosave-report", False)
        self.autoSaveFormat = config.safe_get("reports", "autosave-report-format", "plain", ["plain", "json", "simple"])
        # Dictionary
        self.wordlist = config.safe_get("dictionary", "wordlist",
                                        FileUtils.buildPath(self.script_path, "db", "dicc.txt"))
        self.lowercase = config.safe_getboolean("dictionary", "lowercase", False)
        self.forceExtensions = config.safe_get("dictionary", "force-extensions", False)

        # Connection
        self.useRandomAgents = config.safe_get("connection", "random-user-agents", False)
        self.useragent = config.safe_get("connection", "user-agent", None)
        self.delay = config.safe_get("connection", "delay", 0)
        self.timeout = config.safe_getint("connection", "timeout", 30)
        self.maxRetries = config.safe_getint("connection", "max-retries", 5)
        self.proxy = config.safe_get("connection", "http-proxy", None)
        self.httpmethod = config.safe_get("connection", "httpmethod", "get", ["get", "head", "post"])
        self.requestByHostname = config.safe_get("connection", "request-by-hostname", False)
Пример #2
0
    def parseConfig(self):
        config = DefaultConfigParser()
        configPath = FileUtils.buildPath(self.script_path, "default.conf")
        config.read(configPath)

        # General
        self.threadsCount = config.safe_getint("general", "threads", 10, list(range(1, 50)))
        self.excludeStatusCodes = config.safe_get("general", "exclude-status", None)
        self.redirect = config.safe_getboolean("general", "follow-redirects", False)
        self.recursive = config.safe_getboolean("general", "recursive", False)
        self.suppressEmpty = config.safe_getboolean("general", "suppress-empty", False)
        self.testFailPath = config.safe_get("general", "scanner-fail-path", "").strip()
        self.saveHome = config.safe_getboolean("general", "save-logs-home", False)

        # Reports
        self.autoSave = config.safe_getboolean("reports", "autosave-report", False)
        self.autoSaveFormat = config.safe_get("reports", "autosave-report-format", "plain", ["plain", "json", "simple"])
        # Dictionary
        self.wordlist = config.safe_get("dictionary", "wordlist",
                                        FileUtils.buildPath(self.script_path, "db", "dicc.txt"))
        self.lowercase = config.safe_getboolean("dictionary", "lowercase", False)
        self.forceExtensions = config.safe_get("dictionary", "force-extensions", False)

        # Connection
        self.useRandomAgents = config.safe_get("connection", "random-user-agents", False)
        self.useragent = config.safe_get("connection", "user-agent", None)
        self.delay = config.safe_get("connection", "delay", 0)
        self.timeout = config.safe_getint("connection", "timeout", 30)
        self.maxRetries = config.safe_getint("connection", "max-retries", 5)
        self.proxy = config.safe_get("connection", "http-proxy", None)
        self.requestByHostname = config.safe_get("connection", "request-by-hostname", False)
Пример #3
0
    def parseConfig(self):
        config = DefaultConfigParser()
        configPath = FileUtils.buildPath(self.script_path, "default.conf")
        config.read(configPath)

        # General
        self.threadsCount = config.safe_getint("general", "threads", 10,
                                               list(range(1, 50)))
        self.excludeStatusCodes = config.safe_get("general", "exclude-status",
                                                  None)
        self.redirect = config.safe_getboolean("general", "follow-redirects",
                                               False)
        self.recursive = config.safe_getboolean("general", "recursive", False)
        self.testFailPath = config.safe_get("general", "test-fail-path",
                                            "youCannotBeHere7331").strip()
        # Reports
        self.autoSave = config.safe_getboolean("reports", "autosave-report",
                                               False)
        self.autoSaveFormat = config.safe_get("reports",
                                              "autosave-report-format",
                                              "plain",
                                              ["plain", "json", "simple"])
        # Dictionary
        self.wordlist = config.safe_get(
            "dictionary", "wordlist",
            FileUtils.buildPath(self.script_path, "db", "dicc.txt"))
        self.lowercase = config.safe_getboolean("dictionary", "lowercase",
                                                False)
        # Connection
        self.useragent = config.safe_get("connection", "user-agent", None)
        self.timeout = config.safe_getint("connection", "timeout", 30)
        self.maxRetries = config.safe_getint("connection", "max-retries", 5)
        self.proxy = config.safe_get("connection", "http-proxy", None)
Пример #4
0
    def parseConfig(self):
        config = DefaultConfigParser()
        configPath = FileUtils.buildPath(self.script_path, "default.conf")
        config.read(configPath)

        # General

        self.threadsCount = config.safe_getint(
            "general", "threads", 20, list(range(1, 200))
        )

        self.includeStatusCodes = config.safe_get("general", "include-status", None)

        self.excludeStatusCodes = config.safe_get("general", "exclude-status", None)
        self.excludeTexts = config.safe_get("general", "exclude-texts", None)
        self.redirect = config.safe_getboolean("general", "follow-redirects", False)
        self.recursive = config.safe_getboolean("general", "recursive", False)
        self.recursive_level_max = config.safe_getint(
            "general", "recursive-level-max", 1
        )
        self.suppressEmpty = config.safe_getboolean("general", "suppress-empty", False)
        self.testFailPath = config.safe_get("general", "scanner-fail-path", "").strip()
        self.saveHome = config.safe_getboolean("general", "save-logs-home", False)
        self.defaultExtensions = config.safe_get("general", "default-extensions", "php,asp,aspx,jsp,jspx,html,htm,js,txt")

        # Reports
        self.quietMode = config.safe_get("reports", "quiet-mode", False)
        self.autoSave = config.safe_getboolean("reports", "autosave-report", False)
        self.autoSaveFormat = config.safe_get(
            "reports", "autosave-report-format", "plain", ["plain", "json", "simple"]
        )
        # Dictionary
        self.wordlist = config.safe_get(
            "dictionary",
            "wordlist",
            FileUtils.buildPath(self.script_path, "db", "dicc.txt"),
        )
        self.lowercase = config.safe_getboolean("dictionary", "lowercase", False)
        self.uppercase = config.safe_getboolean("dictionary", "uppercase", False)
        self.forceExtensions = config.safe_get("dictionary", "force-extensions", False)
        self.noDotExtensions = config.safe_get("dictionary", "no-dot-extensions", False)

        # Connection
        self.useRandomAgents = config.safe_get(
            "connection", "random-user-agents", False
        )
        self.useragent = config.safe_get("connection", "user-agent", None)
        self.delay = config.safe_get("connection", "delay", 0)
        self.timeout = config.safe_getint("connection", "timeout", 20)
        self.maxRetries = config.safe_getint("connection", "max-retries", 5)
        self.proxy = config.safe_get("connection", "http-proxy", None)
        self.proxylist = config.safe_get("connection", "http-proxy-list", None)
        self.httpmethod = config.safe_get(
            "connection", "httpmethod", "get", ["get", "head", "post", "put", "delete", "trace", "options"]
        )
        self.requestByHostname = config.safe_get(
            "connection", "request-by-hostname", False
        )
Пример #5
0
    def __parse_conf_file(self):
        parser = DefaultConfigParser()
        # Utf-8 to avoid encoding issues
        parser.read(EXPLOITS_CONF, 'utf8')

        for section in parser.sections():
            type_ = parser.safe_get(section, 'type', '', None)
            if type_ not in SUPPORTED_TYPES:
                raise SettingsException('Unsupported exploit type for [{}]'.format(type_))

            rawcmd = parser.safe_get(section, 'command', '', None)
            if not rawcmd:
                raise SettingsException('No command specified for [{}]'.format(rawcmd))

            description = parser.safe_get(section, 'description', '', None)
            success = parser.safe_get(section, 'success', '', None)

            exploit = Exploit(section, description, type_, rawcmd, success)
            self.exploits.append(exploit)
Пример #6
0
    def parseConfig(self):
        config = DefaultConfigParser()
        configPath = FileUtils.buildPath(self.script_path, "default.conf")
        config.read(configPath)

        # General
        self.threadsCount = config.safe_getint("general", "threads", 10, range(1, 50))
        self.excludeStatusCodes = config.safe_get("general", "exclude-status", None)
        self.redirect  = config.safe_getboolean("general", "follow-redirects", False)
        self.recursive = config.safe_getboolean("general", "recursive", False)
        self.testFailPath = config.safe_get("general", "test-fail-path", "youCannotBeHere7331").strip()
        # Reports
        self.autoSave = config.safe_getboolean("reports", "autosave-report", False)
        self.autoSaveFormat = config.safe_get("reports", "autosave-report-format", "plain", ["plain", "json", "simple"])
        # Dictionary
        self.wordlist = config.safe_get("dictionary", "wordlist", FileUtils.buildPath(self.script_path, "db", "dicc.txt"))
        self.lowercase = config.safe_getboolean("dictionary", "lowercase", False)
        # Connection
        self.useragent = config.safe_get("connection", "user-agent", None)
        self.timeout = config.safe_getint("connection", "timeout", 30)
        self.maxRetries = config.safe_getint("connection", "max-retries", 5)
        self.proxy = config.safe_get("connection", "http-proxy", None)