拦截和解密。
另外,薇信读取调试设置方式也存在问题,可以将日志发送到远程服务器,而日志包含了MD5格式的的用户密码,很容易被破解;
且薇信的本地数据库使用了SQLite的加密扩展,密钥生成的算法将密码截断成7个16进制字符,很容易被暴力破解。
陈序用了一种偏暴力的破解方式,运行一款小白编写的脚本,然后到薇信注册页面,通过脚本自动发送注册请求。
之所以到注册页面而不是登录页面,是因为登录页面几次试错后账号会被锁止;但是注册页面就不一样了,数据库会自动返回比对结果,比如这个用户名是否被占用。
这里有一个细微的差别,“用户名被占用”和“用户名被占用但密码错误”,两者返回的数据库比对结果是不一样的。
而注册是没有次数限制的,在知道用户名的情况下,这样也就间接实现了无限试错。
为了防止连接异样被远程服务器察觉,从而禁止IP访问,只要多换几个肉鸡和代理IP就行了。
当然,这样做其实也并不容易。
但是一个人的密码不是凭空生成的,基本上会跟本人的一些个人信息息息相关,比如生日、