思路:
1.在存放用户名和hash值得文件passwords.txt中
取出hash值cryptpass
2.取出salt,
3.将字典中用户名word加salt生成hash值cryptword
4.将cryptpass与cryptword进行对比,相同就找到了对应的word
5.破解成功
import crypt
def testpass(cryptpass):
salt = cryptpass[0:2]
dictfile=open('dictionary.txt','r')
for word in dictfile.readlines():
word=word.strip('\n')
cryptword=crypt.crypt(word,salt)
if cryptword==cryptpass:
print('[+]found password:'+word+'\n')
return
print('[-]not found password.\n')
return
def main():
passfile=open('passwords.txt')
for line in passfile.readlines():
if ':' in line:
user=line.slip(':')[0]
cryptpass=line.slip(':')[1].strip(' ')
print('[*]cracking password:'+user+'\n')
testpass(cryptpass)
if __name__='__main__':
main()