一名安全研究员发布了一份包含1000万条记录的用户名、密码文件。原文可见:
下面看看admin最喜欢用什么密码:
很遗憾,没有用相同密码的。
Today I Am Releasing Ten Million Passwords
下载下来看看:
确实是刚好有1000万条记录
$ wc -l 10-million-combos.txt
10000000 10-million-combos.txt
共有两列,分别是username、password
$ head 10-million-combos.txt
0000 00000000
0000 00001
0000 00001111
0000 000099
0000 00009999
0000 0000w
0000 5927499
0000 634252
0000 6911703
0000 701068
出现最多的100个username:
$ cat 10-million-combos.txt | awk '{print $2}' | tr 'A-Z' 'a-z' | sort | uniq -c | sort -nr | head -100 | awk '{print $2"\t"$1}' > top_100_username
$ head top_100_username
info 3044
admin 2119
michael 1323
robert 1113
2000 1095
john 1049
david 1041
null 967
richard 940
thomas 922
按照出现频次,使用http://worditout.com/ 作出标签图:
出现最多的100个password:
$ cat 10-million-combos.txt | awk '{print $2}' | tr 'A-Z' 'a-z' | sort | uniq -c | sort -nr | head -100 | awk '{print $2"\t"$1}' > top_100_password
$ head top_100_password
123456 55893
password20785
1234567813582
qwerty 13230
1234567811696
12345 10938
1234 6432
111111 5682
1234567 4796
dragon 4191
使用http://worditout.com/ 作出标签图:
假设以上100个最频繁的密码就是大多数人使用的密码,那么对于任意的username,只要试100次:
$ cat top_password | awk '{sum+=$2} END {print sum/1e7 * 100}'
3.34714
就有3%的概率登录成功。
michael作为出现次多的username,看看有多少个password中出现了它:
$ cat 10-million-combos.txt |tr 'A-Z' 'a-z' | awk '{print $1}' | grep 'michael' | wc -l
8132
下面看看username是michael,密码中还有michael的次数:
$ cat 10-million-combos.txt | tr 'A-Z' 'a-z' | awk '$1=="michael" {print $2}' | grep 'michael' | wc -l
23
下面看看admin最喜欢用什么密码:
$ cat 10-million-combos.txt | tr 'A-Z' 'a-z' | awk '$1=="admin" {print $2}' | sort | uniq -c |sort -nr | head
1 zzzz
1 zzzsecurityzzz
1 zzzsecu1
1 zykova33173
1 zxzz
很遗憾,没有用相同密码的。
对于密码安全,有一段搞笑视频【需到墙外】,