Python 破解Linux密码


  简介:因为Linux的密码都是加密过的(例如:$6$X.0bBN3w$NfM7YYHevVfCnZAVruItAEydaMJCF.muefZsxsgLK5DQoahW8Pqs1BSmoAFfi5J/blvlobrSmFtNQFsYMyIIh1),现在我们把这段密码的密文拿出来解密,就可以得到明文的密码啦~

  说明:wordlist.TXT  是事先准备的密码字典,test.txt 文件内容是复制了Linux中shadow文件中的一条信息拿来做实验的,内容如下:

 

下面的代码我是在Linux下执行的,因为Linux中有crypt模块,用起来方便

 1 import crypt   #导入加密模块
 2 with open(r'/tmp/text.txt','r') as f:  #将text.txt文件内容中的密码部分读取出来、并把加密盐值取出来
 3     a=f.read();
 4     uplist=a.split(":")
 5     username=uplist[0]
 6     userpass=uplist[1]
 7     saltlist=userpass.split("$")
 8     saltnum="$"+saltlist[1]+'$'+saltlist[2]
 9     #print(saltnum)
10    
11 with open (r'/tmp/wordlist.TXT','r') as f:  #wordlist.TXT是密码字典
12     while True:   
13         passwd=f.readline().rstrip()  #按行读取字典并且去除空白部分
14         #print(passwd)
15         if passwd == "":   #读完字典后跳出while循环 
16             break;
17         jiami=crypt.crypt(passwd,saltnum)  #加密字典中的密码与密文密码进行匹配
18         #print(jiami)
19         if jiami == userpass:   #当找到密码后输出并跳出while循环
20             print(username,passwd)
21             break

结果如下:

root 123456


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM