|
凌晨两点十七分,破解我盯着屏幕上那个登录框,网站光标在密码输入栏里一闪一闪。后台这不是破解我第一次尝试破解这个后台,但今晚我决定换一种思路。网站 管理员密码通常藏在哪里?后台不是字典里,而是破解人的习惯里。我翻了这家公司官网的网站新闻稿,发现技术总监上周刚参加完一场网络安全会议,后台还在朋友圈晒了胸牌——照片背景里,破解他的网站工位屏幕上隐隐约约有个"Q3"开头的字符串。结合他入职年份和部门缩写,后台我在密码框里敲下"Q3-tech2024!",破解回车。网站 页面跳转的后台那一刻,我甚至没反应过来。后台控制面板就这么赤裸裸地展现在我面前,像一扇没上锁的房门。用户列表、订单数据、甚至服务器日志,全部摊开在浏览器里。我点开"系统设置"标签页,发现密码重置功能居然没有二次验证——这意味着只要拿到管理员账号,整个网站就是我的了。 但真正的漏洞往往藏在更深处。我翻看操作日志,发现管理员每天上午十点都会登录一次,每次停留不超过五分钟。这个规律持续了整整两个月。我猜他用的应该是自动登录脚本,而不是手动输入。顺着这个线索,我在服务器响应头里嗅到了一点不同——一个名为"X-Auto-Auth"的字段,值是个时间戳。 这就有意思了。如果登录脚本依赖这个时间戳做签名验证,那我只要伪造一个当前时间的戳,就能绕过密码直接构造请求。我打开浏览器的开发者工具,手动修改请求头,把时间戳替换成现在的Unix时间,然后重新发送登录请求。 服务器沉默了三秒。然后返回了一个200 OK。 我进去了。没有暴力破解,没有SQL注入,甚至连一次密码猜测都没用。整个攻击链依赖的只是管理员的一个懒习惯:用固定脚本登录,却忘了给那个时间戳加上有效期校验。我甚至能猜到他写那段代码时的想法——"反正内网用,谁会来攻击呢?" 后台里有个未发布的文章草稿,标题是《我们的安全防护体系有多强》。我没点开看,只是把浏览器地址栏里的session id复制下来,然后关掉了页面。第二天早上,我以匿名身份给这家公司的技术部发了封邮件,附上了完整的攻击路径和修复建议。 三天后,他们修复了那个时间戳漏洞,并且给后台加上了强制两步验证。但没人知道我是怎么进去的,也没人问我为什么会知道技术总监的屏幕内容。我把这归功于一个简单的道理:系统从来不会自己打开门,但人会。 |