当前位置:首页 > 休闲

破解网站密码

去年夏天,破解一个做安全测试的网站朋友给我看了他电脑里的一个文件,里面躺着两百多个网站的密码用户名和明文密码。他不是破解黑客,这些数据来自一次授权渗透测试——客户让他试试自家系统的网站抗压能力。结果呢?密码他花了不到三天,就拿到了管理员权限。破解

怎么做到的网站?不是电影里那种噼里啪啦敲键盘、屏幕上跳出绿色代码的密码场景。他做的破解第一件事,是网站去领英上搜这家公司员工的名字,然后拿这些名字组合成邮箱,密码去撞库。破解

密码从来不是网站被“破解”的

大多数人以为黑客破解密码靠的是算力。暴力枚举,密码把所有组合跑一遍。理论上可行,实际上蠢得离谱。一个八位密码,包含大小写字母、数字和符号,组合数是天文数字。用普通电脑跑,跑到宇宙热寂都跑不完。

真实情况是,密码不是被算出来的,是被“猜”出来的。而这个“猜”,有极高的命中率。

我那位朋友告诉我,他手里有一份从公开泄露数据库整理出来的“密码字典”,大小不到20MB,里面是几亿条真实用户用过的密码。排名前十的永远是:123456、password、123456789、qwerty、abc123、111111、letmein、admin、welcome、monkey。

你笑了?别急。加个感叹号,变成Password1!,或者把名字拼音加生日,比如zhangsan1990。这些变体在字典里都有。工具会自动组合、替换、追加,一秒钟能试几万次。

真正的突破口在人身上

技术手段只是最后一步。前面还有更简单的方法。

比如“忘记密码”功能。很多网站的安全问题蠢得让人心疼:“你最喜欢的颜色是什么?”——去他微博翻三页就能找到答案。“你母亲的名字?”——人人网时代的老数据早泄露了。“你的第一辆车?”——他朋友圈晒过。

还有钓鱼。做个几乎一模一样的登录页,发个邮件说“您的账户存在异常登录,请立即验证”。点进去,输入账号密码,数据直接发到攻击者服务器。整个过程不需要任何技术含量,只需要一点心理学。

我见过最离谱的案例,是一家小公司。他们的内部系统密码是admin/admin。对,就这六个字母。因为“反正内网,没人会攻击”。结果呢?一个离职员工在家连上VPN,五分钟就把客户数据全拖走了。

防御比攻击难得多

网站那边也不是完全没招。加盐哈希、双因素认证、登录限速、异常检测——每一样都能大幅提高门槛。问题是,很多网站不做。

为什么?因为麻烦。加双因素认证,用户会抱怨“每次登录都要收验证码”。加登录限速,会误伤正常用户。加异常检测,要养一个安全团队。成本摆在那里,老板一算账,觉得“我们小网站,谁闲着没事攻击我们”。

然后就被攻击了。攻击者不挑食,自动化工具扫全网,逮到谁算谁。你的网站再小,只要有一个漏洞,就会被写进脚本里,每天被扫几千次。

我自己的做法很简单:每个网站用不同的密码,全部交给密码管理器生成。主密码是一句只有我知道的话,加上特殊符号和数字,超过20位。双因素认证能开就开,优先用硬件密钥,其次用验证器App,短信验证码排最后。

听起来麻烦?设置一次,之后都是自动填充。比记住几十个密码容易多了。

说到底,破解网站密码这件事,攻防双方拼的不是谁技术更强,而是谁更懒。攻击者利用的是人的惰性——懒得设复杂密码,懒得开双因素,懒得更新系统。防御者要赢,只需要比大多数人勤快一点点。

可惜,大多数人连这一点点都做不到。

分享到: