diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py index 154c5d7e3..05fbf99b0 100644 --- a/lib/parse/cmdline.py +++ b/lib/parse/cmdline.py @@ -610,6 +610,9 @@ def cmdLineParser(): help="Log all HTTP traffic into a " "textual file") + general.add_option("--crawl-file", dest="batchCrawlFile", action="store", + help="Destination file for crawled links") + general.add_option("--batch", dest="batch", action="store_true", help="Never ask for user input, use the default behaviour") diff --git a/lib/utils/crawler.py b/lib/utils/crawler.py index be47608e1..539b53252 100644 --- a/lib/utils/crawler.py +++ b/lib/utils/crawler.py @@ -186,12 +186,14 @@ def storeResultsToFile(results): test = readInput(message, default="N") kb.storeCrawlingChoice = test[0] in ("y", "Y") - if kb.storeCrawlingChoice: - handle, filename = tempfile.mkstemp(prefix="sqlmapcrawling-", suffix=".csv" if conf.forms else ".txt") - os.close(handle) - - infoMsg = "writing crawling results to a temporary file '%s' " % filename - logger.info(infoMsg) + if kb.storeCrawlingChoice or conf.batchCrawlFile: + if conf.batchCrawlFile: + filename = conf.batchCrawlFile + else: + handle, filename = tempfile.mkstemp(prefix="sqlmapcrawling-", suffix=".csv" if conf.forms else ".txt") + os.close(handle) + infoMsg = "writing crawling results to a temporary file '%s' " % filename + logger.info(infoMsg) with openFile(filename, "w+b") as f: if conf.forms: