def run_command(args): """ Run the command given by the user Keyword arguments: args -- Arguments from the command line """ if not args.phrase: flags = {} if args.nolowercase: flags['lowercase'] = password_generator.Requirement.exclude if args.nouppercase: flags['uppercase'] = password_generator.Requirement.exclude if args.nodigits: flags['digits'] = password_generator.Requirement.exclude if args.nosymbols: flags['punctuation'] = password_generator.Requirement.exclude if args.nowhitespace: flags['whitespace'] = password_generator.Requirement.exclude if args.noambiguous: flags['exclude_ambiguous'] = True password, entropy = password_generator.generate(length=args.minlength, flags=flags) print("Generated password: \"{}\" (expected entropy: {})".format( password, entropy)) else: passphrase, entropy = password_generator.generate( phrase=True, wordlistfile=args.wordlist, minwordlen=args.minwordlen, wordcount=args.wordcount, delimiter=args.delimiter) print("Generated passphrase: \"{}\" (expected entropy: {})".format( passphrase, entropy))
def brute(): if not os.path.exists('password_list.txt'): pg.generate() with open('password_list.txt', 'r') as pl: regenerate = input('Generate new password list? [y/n] ').lower() if regenerate == 'y': pg.generate() elif regenerate == 'n': pass login = input('Enter login: '******'Start brute? [y/n] ').lower() if ask == 'y': start_time = time.time() for line in pl.readlines(): password = line.strip() with requests.Session() as s: s.post(url=url, data={ 'login': login, 'password': password }) r = s.get('http://study/content.php?page=about') if r.url == "http://study/content.php?page=about": print(f'=======+ Good password: {password}') time_to_crack = time.time() - start_time plot1.x.append(pg.password_length()) plot1.y.append(time_to_crack) print(f'Time: {time_to_crack}') if "Выйти" in r.text: print('Secret = Выйти') break else: print(f"Bad password: {password}")
def create_user(self, data): if data["mail"]: existing_user = api.user.get(userid=data["mail"].lower()) if existing_user: self.update_user(existing_user, data) return existing_user properties = dict( last_name=data["last_name"] or translate(_(u"Anonymous"), context=self.request), first_name=data["first_name"], gender=data["gender"], birthdate=data["birthdate"], zip_code=data["zip_code"], iam=data["iam"], address=data["address"], ) if not data["mail"]: normalizer = getUtility(IIDNormalizer) mail = "{0}_{1}_{2}@liege2025.be".format( normalizer.normalize(data["title"]), data["last_name"], hashlib.md5(str(time.time())).hexdigest()[:4], ) else: mail = data["mail"] return api.user.create( email=mail.lower(), password="******".format(password_generator.generate()), properties=properties, )
def create_user(self, data): if data["mail"]: existing_user = api.user.get(userid=data["mail"].lower()) if existing_user: self.update_user(existing_user, data) return existing_user properties = dict( last_name=data["last_name"] or translate(_(u"Anonymous"), context=self.request), first_name=data["first_name"], gender=data["gender"], birthdate=data["birthdate"], zip_code=data["zip_code"], iam=data["iam"], address=data["address"], ) if not data["mail"]: normalizer = getUtility(IIDNormalizer) mail = "{0}_{1}@liege2025.be".format( normalizer.normalize(data["last_name"])[:15], hashlib.md5(str(time.time())).hexdigest()[:10], ) else: mail = data["mail"] return api.user.create( email=mail.lower(), password="******".format(password_generator.generate()), properties=properties, )
def create_new_whm_account(domain_name): # generate password new_pass = password_generator.generate(length=15) # open connection sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(('your_hostname', 'port_number_integer_remove_brackets')) session = Session() session.startup(sock) session.userauth_password('root', 'your_password') chanel = session.open_session() # form a 8-letter username username_whm_account = '' for char_letter in domain_name: if char_letter.isalpha(): username_whm_account += char_letter username_whm_account = username_whm_account[:8] # check if username and domain name already exist on the server chanel.execute( f'cd /var/cpanel/users; grep -r {domain_name}; grep -r {username_whm_account}' ) size, data = chanel.read() while (size > 0): # convert byte output to string datada = str(data.decode('ascii')) print(datada) size, data = chanel.read() if (f'DNS={domain_name}' in datada): print( f'Domain name {domain_name} already exists! Account creation failed! Aborting...' ) return 0 else: while (f'USER={username_whm_account}' in datada): print(f'Account name already exists! Creating new username!') username_whm_account = generate_new_account_name( username_whm_account) print(username_whm_account) chanel.close() chanel = session.open_session() chanel.execute( f'whmapi1 createacct username={username_whm_account} domain={domain_name} password={new_pass}' ) print(f'Account created! Here are the details:' f'username = {username_whm_account} ' f'password = {new_pass} ' f'domain name = {domain_name} ')
def generate_password(): pwd = password_generator.generate(PWD_GEN_LETTER, PWD_GEN_SYMBOL, PWD_GEN_NUMBER) input_password.delete(0, tkinter.END) input_password.insert(0, pwd) window.clipboard_clear() window.clipboard_append(pwd) window.update()
def rupage(): form = PasswordGenerationFormRu() if form.validate_on_submit(): form.valid = True Checkbox_values = [{'checkbox':'Upper_reg','value':request.form.get('Upper_register_field')}, {'checkbox':'Digits','value':request.form.get('Digits_field')}, {'checkbox':'Punctuation','value':request.form.get('Punctuation_field')}] len = int(request.form['length']) how_many = int(request.form['how_many_passwords']) form.password = generate(len,how_many=how_many,flags=Checkbox_values) else: form.valid = False print('Something went wrong') return render_template("homeru.html", form = form)
def process_add(self): self.process_vars["action_msg_1"] = "Adding an account with the attributes:" self.process_vars["action_msg_2"] = "Adding account... " self.process_vars["action_attrs"] = ["domain", "name", "password", "fullname", "active", "public"] self.process_vars["action_attrs_translations"] = {"fullname": "Full name"} self.process_vars["action_proc"] = "account_add" if self.args.name: email_addr = self.args.name + "@" + (self.args.domain if self.args.domain is not None else "DEFAULT.DOMAIN") if not validators.email(email_addr): print("Invalid email: \"{}\"".format(email_addr)) sys.exit(1) if self.args.name and self.args.password is None: password_gen_min = self.cfg.getint("account", "password_gen_min", fallback=8) password_gen_max = self.cfg.getint("account", "password_gen_max", fallback=8) password_gen_min, password_gen_max = libemailmgr.check_password_length(password_gen_min, password_gen_max) self.args.password = password_generator.generate(length=random.randint(password_gen_min, password_gen_max)) self.process_vars["action_params"] = [self.args.domain, self.args.name, self.args.password, self.args.fullname, self.args.active, self.args.public] libemailmgr.BasePlugin.process_action(self)
def create_new_password(user_id, user_password): app_name = input('What is the name of the app:') while True: if app_name == '': app_name = input('You need to enter an app name:') else: if db_calls.check_if_appname_exists(app_name) == 1: app_name = input( 'That app name already exists please enter a new app name:' ) elif db_calls.check_if_appname_exists(app_name) == 0: break else: print('Error. Exiting Application') exit() app_url = input('What is the app URL, one is not required:') plain_text_password = password_generator.generate() encrypted_password = hashing.encrypt_password(user_password, plain_text_password, user_id) return (db_calls.create_new_password(user_id, encrypted_password, plain_text_password, app_name, app_url))
def forgot_password(self, request): data = json.loads(request.data) result = self.collection.find_one({"username": data['username']}) if result: import password_generator import apostle import arrow stringfile = password_generator.generate(length=16) # change password with new password update_res = self.collection.update( {'_id': data['username']}, { '$set': { "password": stringfile } } ) if update_res: date_post = str(arrow.now('Asia/Kolkata').format('DD MMM YYYY hh:mm:ss A')) # Set up Apostle apostle.domain_key = "e1ca755b9116d4178f03abc788fd7f3d95e9934c" apostle.deliver("password-generated", {"email": result['email'], 'name': result['name'], 'Dts': date_post, 'password': stringfile}) return {'status': 'success', 'message': 'successfully password changed.'} else: return {'status': 'failed', 'message': 'Error while updating password.'} else: return {'status': 'failed', 'message': 'invalid credentials'}
def update_password(user_id, user_password): app = input( '1.App Name \n2.App URL \nHow do you want to update the password:'******'1', 'appname'): app_name = input('What is the name of the app:') while True: if app_name == '': app_name = input( "You didn't enter a app name please try again:") else: break response = get_password_app_name(app_name, user_id) if response == 0: try_again = input( "An app with that name doesn't exist. \n1.Try Again \n2.Create a password \nWhat do you want to do:" ) try_again = remove_spaces(try_again) if try_again.casefold() in ('1', 'tryagain'): a = 1 elif try_again.casefold() in ('2', 'createapassword'): return (0) else: try_again = input( "I didn't understand that please select one of the options:" ) else: plain_text_password = generate() encrypted_password = encrypt_password(user_password, plain_text_password, user_id) response = update_password_app_name(user_id, encrypted_password, app_name) if response == 0: return ('Could not update password') elif response == 1: return ('Success', app_name, plain_text_password) else: return ('Error') elif app.casefold() in ('2', 'appurl'): app_url = input('What is the URl of the app:') while True: if app_url == '': app_url = input( "You didn't enter a app url please try again:") break else: break response = get_password_app_url(app_url, user_id) if response == 0: try_again = input( "An app with that url doesn't exist. \n1.Try Again \n2.Create a password \nWhat do you want to do:" ) try_again = remove_spaces(try_again) if try_again.casefold() in ('1', 'tryagain'): a = 1 elif try_again.casefold() in ('2', 'createapassword'): return (0) else: try_again = input( "I didn't understand that please select one of the options:" ) else: plain_text_password = generate() encrypted_password = encrypt_password(user_password, plain_text_password, user_id) response = update_password_app_url(user_id, encrypted_password, app_url) if response == 0: return ('Could not update password') elif response == 1: return ('Success', app_url, plain_text_password) else: return ('Error') else: app = input( "Sorry I didn't reconginse that please select one of the optoins:" )
def generate_password(): password = generate() password_input.insert(0, password)
def main(): import argparse layout_helpstr = ( "\nlayouts:\n" + "\n".join(" {:<7s} : {:<15s} ({:3.0f} mm x {:3.0f} mm)".format( k, v.description, v.width / mm, v.height / mm) for k, v in sorted(layouts.items()))) parser = argparse.ArgumentParser( description='Generate password candidates', epilog=password_generator.format_helpstr + layout_helpstr, add_help=False, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument('-H', '--hint', action='store_true', help='show pronunciation hints') parser.add_argument('-Q', '--qrcode', action='store_true', help='show QR code') parser.add_argument('--wifi-ssid', help='generate QR code for WiFi WPA configuration') outgroup = parser.add_mutually_exclusive_group(required=True) outgroup.add_argument('-o', '--output', help='output file name') outgroup.add_argument( '-O', '--output-base', help='output related data to specified basename or directory') parser.add_argument('--gpg-encrypt-to', help='encrypt plaintext output by gpg', metavar='EMAIL') parser.add_argument( '--encrypt', action='store_true', help=argparse. SUPPRESS #'encrypt PDF output by generated password itself' ) # ReportLab bug: encryption with CID font generates buggy PDF. parser.add_argument('-L', '--layout', help='choose output layout', choices=layouts.keys(), metavar='LAYOUT', default='1') parser.add_argument('--title', help='put title line') parser.add_argument('--no-partial-passwords', action='store_false', dest='pwdelems', help=argparse.SUPPRESS) parser.add_argument('--json', action='store_true', help='reuse previous passphrase data in JSON format') parser.add_argument('format', help='password format (or JSON filename with --json)') parser.add_argument('count', help='number of generated passwords', nargs='?', type=int, default=None) parser.add_argument('--debug', action='store_true', help=argparse.SUPPRESS) parser.add_argument('--version', action='version', version='%(prog)s ' + VERSION) parser.add_argument('--help', action='help', help='show this help message') opts = password_generator.parse_commandline(parser) global DEBUGBOX if opts.debug: DEBUGBOX = True if opts.json: if opts.format == '-': json_dat = json.load(sys.stdin) else: with open(opts.format, 'r', encoding='utf-8') as rf: json_dat = json.load(rf) # format check if isinstance(json_dat, list) and 'password' in json_dat[0]: if opts.count != None: parser.error("given JSON contains single passphrase") elif 'elements' in json_dat: json_dat = json_dat['elements'] if not isinstance(json_dat, list): parser.error("bad JSON input") if opts.count == None: parser.error( "parameter count must be given to choose a single passphrase" ) if not 1 <= opts.count <= len(json_dat): parser.error("bad count given (must be in 1 -- {})".format( len(json_dat))) json_dat = json_dat[opts.count - 1] else: parser.error("bad JSON input") else: while True: try: l, diag = password_generator.generate( opts.format, opts.count if opts.count != None else 1) except password_generator.BadFormatError as e: parser.error(e.args[0]) if opts.count == None: l = 1 break for i in range(len(l)): print("{:2d}: {}\n ({})\n".format(i + 1, *l[i]), file=sys.stderr) print("Which one? (1-{}, RET for another set): ".format(len(l)), end="", file=sys.stderr) sys.stderr.flush() l = sys.stdin.readline().strip() if l != "": break try: json_dat = diag['elements'][int(l) - 1] except ValueError: print("Unrecognized input. aborting.", file=sys.stderr) exit(2) try: verify_json_data(json_dat) except BadDataError: print("Bad data. aborting.", file=sys.stderr) exit(2) password = "".join(e['password'] for e in json_dat) hintstr = "".join(e['hint'] for e in json_dat) if opts.hint: print("\nGenerated password: {}\n ({})".format( password, hintstr)) else: print("\nGenerated password: {}".format(password)) os.umask(os.umask(0o077) | 0o077) if opts.output_base: base, sep, out = opts.output_base.rpartition('/') if sep: os.makedirs(base, mode=0o700, exist_ok=True) output_base = opts.output_base if out != '' else opts.output_base + "password" output = output_base + ".pdf" else: output_base = None output = opts.output generate_pdf(output, json_dat, qrcode=opts.qrcode, wifi_ssid=opts.wifi_ssid, encrypt=opts.encrypt, layout=opts.layout, hint=opts.hint, pwdelems=opts.pwdelems, title=opts.title) if output_base: generate_textfile(output_base + ".txt", password, encrypt_to=opts.gpg_encrypt_to) generate_textfile(output_base + ".json", json.dumps(json_dat, sort_keys=True, indent=4), encrypt_to=opts.gpg_encrypt_to)
def main(): #how many accounts we need ntimes = 1 for i in range(1,ntimes+1): print "starting browser" firstname = names.get_first_name() #print "firstname", firstname lastname = names.get_last_name() #print "lastname", lastname browser = Browser() #Browser(user_agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)") browser.visit('https://passport.yandex.com/registration/mail') browser.find_by_id('firstname').fill(firstname) browser.find_by_id('lastname').fill(lastname) testlogin = False count = 0 while (testlogin == False): count = count + 1 login = firstname+lastname+str(randint(10,1000)) print "login:"******"div.control__error__login_notavailable", wait_time=2) if browser.is_text_present("username available"): testlogin = True else: print "login is not available, generate new" if (count>3): #print "logins in this script is unavailable now, please make new login generator" browser.quit() sys.exit("logins in this script is unavailable now, please make new login generator") password = password_generator.generate() print "password:"******"hint_question_id").click() #wait browser.is_element_not_present_by_css("li[role=\"presentation\"]", wait_time=3) #check first question browser.find_by_css("li[role=\"presentation\"]")[1].click() browser.find_by_id("hint_answer").fill(firstname) gateimgcode = captcha(browser) browser.find_by_id('answer').fill(gateimgcode) browser.find_by_css("button[type=\"submit\"]").click() testcaptcha = False count = 0 while (testcaptcha == False): count = count + 1 browser.is_element_not_present_by_css("div.control__error__captcha_incorrect", wait_time=2) if browser.is_text_present("characters were entered incorrectly"): print "captcha code is bad, try again" browser.find_by_id('password').fill(password) browser.find_by_id('password_confirm').fill(password) gateimgcode = captcha(browser) browser.find_by_id('answer').fill(gateimgcode) browser.find_by_css("button[type=\"submit\"]").click() else: testcaptcha = True if (count>3): #print "something wrong with captcha" browser.quit() sys.exit("something wrong with captcha") browser.is_element_not_present_by_tag("html", wait_time=2) if browser.is_text_present("Personal information"): today = datetime.date.today() filename = 'yandex'+str(today)+'.txt' file = open(filename,'a') file.write(login+'@yandex.com'+':'+login+':'+password+'\n') file.close() print str(i)+" accounts saved to "+filename browser.quit() else: #print "something wrong, please start script again" browser.quit() sys.exit("something wrong, please start script again")