def main(): usage = "usage: %prog [options]" parser = OptionParser(usage=usage) parser.add_option("-u", "--url", dest="url", help="target URL") (options, args) = parser.parse_args() #options.url=targetUrl if options.url is None: parser.print_help() exit() t = Target(options.url) s = Engine(t) s.addOption("crawl", True) s.addOption("forms", True) s.addOption("threads", 1) if s.start(): exit()
def main(): banner() usage = "usage: %prog [options]" parser = OptionParser(usage=usage) parser.add_option("-u", "--url", dest="url", help="target URL") parser.add_option("--post", dest="post", default=False, action="store_true", help="try a post request to target url") parser.add_option("--data", dest="post_data", help="posta data to use") parser.add_option("--threads", dest="threads", default=1, help="number of threads") parser.add_option("--http-proxy", dest="http_proxy", help="scan behind given proxy (format: 127.0.0.1:80)") parser.add_option("--tor", dest="tor", default=False, action="store_true", help="scan behind default Tor") parser.add_option("--crawl", dest="crawl", default=False, action="store_true", help="crawl target url for other links to test") parser.add_option("--forms", dest="forms", default=False, action="store_true", help="crawl target url looking for forms to test") parser.add_option("--user-agent", dest="user_agent", help="provide an user agent") parser.add_option("--random-agent", dest="random_agent", default=False, action="store_true", help="perform scan with random user agents") parser.add_option("--cookie", dest="cookie", help="use a cookie to perform scans") parser.add_option("--dom", dest="dom", default=False, action="store_true", help="basic heuristic to detect dom xss") (options, args) = parser.parse_args() if options.url is None: parser.print_help() exit() # Build a first target print "[+] TARGET: %s" % options.url if options.post is True: print " |- METHOD: POST" if options.post_data is not None: print " |- POST data: %s" % options.post_data t = Target(options.url, method = 'POST', data = options.post_data) else: error('No POST data specified: use --data', ' |- ') exit() else: print " |- METHOD: GET" t = Target(options.url) # Build a scanner s = Engine(t) # Lets parse options for some proxy setting if options.http_proxy is not None and options.tor is True: error('No --tor and --http-proxy together!', ' |- ') exit() elif options.tor is False and options.http_proxy is not None: s.addOption("http-proxy", options.http_proxy) print " |- PROXY: %s" % options.http_proxy elif options.tor is True: s.addOption("http-proxy", "127.0.0.1:8118") print " |- PROXY: 127.0.0.1:8118" # User Agent option provided? if options.user_agent is not None and options.random_agent is True: error('No --user-agent and --random-agent together!', ' |- ') elif options.random_agent is False and options.user_agent is not None: s.addOption("ua", options.user_agent) print " |- USER-AGENT: %s" % options.user_agent elif options.random_agent is True: s.addOption("ua", "RANDOM") print " |- USER-AGENT: RANDOM" # Cookies? if options.cookie is not None: s.addOption("cookie", options.cookie) print " |- COOKIE: %s" % options.cookie # Do you want to crawl? if options.crawl is True: s.addOption("crawl", True) # Do you want to crawl forms? if options.forms is True: s.addOption("forms", True) # Dom scan? if options.dom is True: s.addOption("dom", True) # How many threads? s.addOption("threads", int(options.threads)) # Start the scanning if s.start(): exit()
def main(): banner() usage = "usage: %prog [options]" parser = OptionParser(usage=usage) parser.add_option("-u", "--url", dest="url", help="target URL") parser.add_option("--post", dest="post", default=False, action="store_true", help="try a post request to target url") parser.add_option("--data", dest="post_data", help="posta data to use") parser.add_option("--threads", dest="threads", default=1, help="number of threads") parser.add_option("--http-proxy", dest="http_proxy", help="scan behind given proxy (format: 127.0.0.1:80)") parser.add_option("--tor", dest="tor", default=False, action="store_true", help="scan behind default Tor") parser.add_option("--crawl", dest="crawl", default=False, action="store_true", help="crawl target url for other links to test") parser.add_option("--forms", dest="forms", default=False, action="store_true", help="crawl target url looking for forms to test") parser.add_option("--user-agent", dest="user_agent", help="provide an user agent") parser.add_option("--random-agent", dest="random_agent", default=False, action="store_true", help="perform scan with random user agents") parser.add_option("--cookie", dest="cookie", help="use a cookie to perform scans") parser.add_option("--dom", dest="dom", default=False, action="store_true", help="basic heuristic to detect dom xss") (options, args) = parser.parse_args() if options.url is None: parser.print_help() exit() # Build a first target print "[+] TARGET: %s" % options.url if options.post is True: print " |- METHOD: POST" if options.post_data is not None: print " |- POST data: %s" % options.post_data t = Target(options.url, method='POST', data=options.post_data) else: error('No POST data specified: use --data', ' |- ') exit() else: print " |- METHOD: GET" t = Target(options.url) # Build a scanner s = Engine(t) # Lets parse options for some proxy setting if options.http_proxy is not None and options.tor is True: error('No --tor and --http-proxy together!', ' |- ') exit() elif options.tor is False and options.http_proxy is not None: s.addOption("http-proxy", options.http_proxy) print " |- PROXY: %s" % options.http_proxy elif options.tor is True: s.addOption("http-proxy", "127.0.0.1:8118") print " |- PROXY: 127.0.0.1:8118" # User Agent option provided? if options.user_agent is not None and options.random_agent is True: error('No --user-agent and --random-agent together!', ' |- ') elif options.random_agent is False and options.user_agent is not None: s.addOption("ua", options.user_agent) print " |- USER-AGENT: %s" % options.user_agent elif options.random_agent is True: s.addOption("ua", "RANDOM") print " |- USER-AGENT: RANDOM" # Cookies? if options.cookie is not None: s.addOption("cookie", options.cookie) print " |- COOKIE: %s" % options.cookie # Do you want to crawl? if options.crawl is True: s.addOption("crawl", True) # Do you want to crawl forms? if options.forms is True: s.addOption("forms", True) # Dom scan? if options.dom is True: s.addOption("dom", True) # How many threads? s.addOption("threads", int(options.threads)) # Start the scanning if s.start(): exit()