Esempio n. 1
0
    def parse_cl(self):
	options = FuzzSessionOptions()

	# Usage and command line help
	try:
	    opts, args = getopt.getopt(self.argv[1:], "hAZIXvcb:e:R:d:z:r:f:t:w:V:H:m:o:s:p:w:",['sc=','sh=','sl=','sw=','ss=','hc=','hh=','hl=','hw=','hs=','ntlm=','basic=','digest=','follow','script-help=','script=','script-args=','filter=','interact','help','version'])
	    optsd = defaultdict(list)
	    for i,j in opts:
		optsd[i].append(j)

	    self._parse_help_opt(optsd)

	    if len(args) == 0:
		raise FuzzException(FuzzException.FATAL, "You must specify a payload and a URL")

	    url = args[0]

	    self._check_options(optsd)
	    self._parse_options(optsd, options)
	    options.set("filter_params", self._parse_filters(optsd))
	    options.set("genreq",  requestGenerator(self._parse_seed(url, optsd), self._parse_payload(optsd)))

	    return options
	except FuzzException, e:
	    self.show_brief_usage()
	    #self.show_usage()
	    raise e
Esempio n. 2
0
    def parse_cl(self):
        options = FuzzSessionOptions()

        # Usage and command line help
        try:
            opts, args = getopt.getopt(self.argv[1:], "hAZIXvcb:e:R:d:z:r:f:t:w:V:H:m:o:s:p:w:",
                                       ['sc=', 'sh=', 'sl=', 'sw=', 'ss=', 'hc=', 'hh=', 'hl=', 'hw=', 'hs=', 'ntlm=',
                                        'basic=', 'digest=', 'follow', 'script-help=', 'script=', 'script-args=', 'filter=',
                                        'interact', 'help', 'version', 'url-file='])
            optsd = defaultdict(list)

            for i, j in opts:
                optsd[i].append(j)

            self._parse_help_opt(optsd)

            if not "--url-file" in optsd.keys():
                if len(args) == 0:
                    raise FuzzException(FuzzException.FATAL,
                                        "You must specify either filename with list of URLS's and payloads or a payload and a URL")
                else:
                    url = [args[0]]
            else:
                try:
                    with open(optsd["--url-file"][0], "r") as f:
                        url = f.readlines()
                    url = map(str.strip, url)
                except IOError:
                    raise FuzzException(FuzzException.FATAL, "Incorrect URL file")

            self._check_options(optsd)
            self._parse_options(optsd, options)
            options.set("filter_params", self._parse_filters(optsd))
            options.set("genreq", [requestGenerator(self._parse_seed(u, optsd), self._parse_payload(optsd)) for u in url])
            return options
        except FuzzException, e:
            self.show_brief_usage()
            # self.show_usage()
            raise e
Esempio n. 3
0
    def parse_cl(self):
        options = FuzzSessionOptions()

        # Usage and command line help
        try:
            opts, args = getopt.getopt(
                self.argv[1:], "hAZIXvcb:e:R:d:z:r:f:t:w:V:H:m:o:s:p:w:", [
                    'sc=', 'sh=', 'sl=', 'sw=', 'ss=', 'hc=', 'hh=', 'hl=',
                    'hw=', 'hs=', 'ntlm=', 'basic=', 'digest=', 'follow',
                    'script-help=', 'script=', 'script-args=', 'filter=',
                    'interact', 'help', 'version'
                ])
            optsd = defaultdict(list)
            for i, j in opts:
                optsd[i].append(j)

            self._parse_help_opt(optsd)

            if len(args) == 0:
                raise FuzzException(FuzzException.FATAL,
                                    "You must specify a payload and a URL")

            url = args[0]

            self._check_options(optsd)
            self._parse_options(optsd, options)
            options.set("filter_params", self._parse_filters(optsd))
            options.set(
                "genreq",
                requestGenerator(self._parse_seed(url, optsd),
                                 self._parse_payload(optsd)))

            return options
        except FuzzException, e:
            self.show_brief_usage()
            #self.show_usage()
            raise e