社工生成用于密码字典

很多用户对于自己的密码信息,为了方便自己使用和记忆,经常将个人身份信息嵌入其中。如果是对某用户有一定的了解,可以通过暴力破解的方式尝试出用户密码。

1.信息收集
收集用户信息,包括生日,证件号,手机号,座机号,用户名,车牌号,网站名称,地址等(包含中文信息可以使用拼音)
用于保存用户信息的文件设为Information.txt,信息名称在左,具体信息在右,中间用英文冒号隔开,每行信息记录完成即换行。
如下所示:

姓名:zhangsan
英文名:jack
生日:2000.02.30
手机号:12345678990

2.读入文件

  • 对已知信息(子字串)进行排列组合。
  • 对于数字信息,应用3个或者3个以上连续的子字串进行组合(一般而言,用户使用数字信息作为密码,不会只用其中一个或者两个数字)
  • 对于生日信息,应使年月日的顺序可更换,变为日月年等,此外,年份可仅用后两位数字。
    可以先使用正则表达式将我们需要的那段信息字符提取出来。
    然后在进行组合。
    由于许多网站有规定,用户的密码长度,一般是六位到十几位,我们生成的密码长度亦可以限制范围。

3.加入特殊字符
在任意两个信息的子字串之间加入一个或两个特殊字符。如果是不能使用特殊字符作为密码的网站则不加。

4.将生成的密码写入新文件中

本来是想拿代码出来的,然而代码修正中。打码五分钟,debug两小时。先不放代码了。。。
如有需要修正之处,有请各位大佬斧正。