zoukankan      html  css  js  c++  java
  • unix 密码破解,zip破解总结

    unix /etc/passwd 破解,假设的前两位是salt

    import crypt
    
    #数据比较
    def password_crak(pass_word):
        salt = pass_word[0:2]
        diction = open("dictionary","r")
        for word in diction.readlines():
            data = word.strip("
    ")
            crak = crypt.crypt(data,salt)
    
            if crak == pass_word:
                print ("[+]Found password:%s
    " %data)
            else:
                print ("[-]Not Found password
    ")
    #处理数据
    def main():
        pass_file = open("password.txt","r")
    
        for line in pass_file.readlines():
            if ":" in line:
                user = line.split(":")[0]
                pass_word = line.split(":")[1].strip(" ")
                print ("[*]Craking password for:%s
    " %user)
                password_crak(pass_word)
           
    if __name__ == '__main__': main()

    zip密码破解,自己的环境是python3,一定要在password.encode("utr-8),不然报typeError: pwd: expected bytes, got str

    import zipfile
    #密码错误抛出异常pass继续循环
    def crack(zfile,password):
    	try:
    		zfile.extractall(pwd=password.encode("utf-8"))
    		return password
    	except:
    		pass
    
    #处理数据
    def main():
    	zip_name = input("Please input your zip name:")
    	zfile = zipfile.ZipFile(zip_name)
    	pass_file = open("dictionary.txt","r")
    	for data in pass_file.readlines():
    		password = data.strip("
    ")
    		guess = crack(zfile,password)
    
    		if guess:
    			print ("[+]Password :%s
    " %password)
    
    			exit(0)
    
    if __name__ == '__main__':
    	main()
    

    多线程版:

    import zipfile
    import threading
    #密码错误抛出异常pass继续循环
    def crack(zfile,password):
        try:
            zfile.extractall(pwd=password.encode("utf-8"))
            print ("[+]Password :%s
    " %password)
        except:
            pass
    
    #处理数据
    def main():
        zip_name = input("Please input your zip name:")
        zfile = zipfile.ZipFile(zip_name)
        pass_file = open("dictionary.txt","r")
        for data in pass_file.readlines():
            password = data.strip("
    ")
            t = threading.Thread(target=crack,args=(zfile,password))
            t.start()
    
    if __name__ == '__main__':
        main()

      

    总结:基于字典的破解

    zipfile:https://www.cnblogs.com/ManyQian/p/9193199.html

    python3编码解决:https://bbs.csdn.net/topics/390190563

  • 相关阅读:
    BZOJ4975: [Lydsy1708月赛]区间翻转( 博弈&逆序对)
    BZOJ4550: 小奇的博弈(NIMK博弈& 组合数& DP)
    BZOJ5301: [Cqoi2018]异或序列(莫队)
    BZOJ5450: 轰炸(水题,Tarjan缩点求最长路)
    BZOJ5125: [Lydsy1712月赛]小Q的书架(DP决策单调性)
    codevs 2495 水叮当的舞步
    bzoj 1086: [SCOI2005]王室联邦
    bzoj 3720: Gty的妹子树
    bzoj 1024: [SCOI2009]生日快乐
    bzoj 1085: [SCOI2005]骑士精神
  • 原文地址:https://www.cnblogs.com/junsec/p/10449264.html
Copyright © 2011-2022 走看看