游客发表
凌晨三点十七分,发现我盯着屏幕上那个跳动的系统光标,后背发凉。漏洞
这不是发现我写的代码。我负责的系统是用户登录模块,昨天刚上线的漏洞新版本。可眼前这段异常逻辑,发现分明是系统有人在我提交的代码里动了手脚——多了一个判断条件,在特定情况下会绕过密码校验,漏洞直接放行。发现
我翻遍了自己的系统提交记录,git日志显示最后一次push是漏洞昨天下午四点二十一分,文件hash和我本地完全一致。发现可服务器上跑的系统版本,却多出了三行代码。漏洞诡异的是,这三行代码的缩进风格、变量命名习惯,跟我一模一样,连注释口吻都是我的语气。
我一度怀疑是自己记忆错乱。直到我打开数据库,发现过去48小时里有17个账号用“guest/guest”登录过,其中三个是管理员权限。这些账号的IP分布在全国各地,有网吧、有公司专线、甚至有一个来自某高校图书馆。
真正让我毛骨悚然的是第七个登录记录——那是我自己的测试账号。时间戳显示,昨晚十一点零八分,有人用这个账号浏览了服务器上的所有用户数据,包括密码哈希值。
我昨晚十一点在干嘛?我在楼下便利店买啤酒。监控录像可以证明。
那就只剩一种可能:我的开发机被入侵了,而且入侵者对我的代码习惯、开发流程、甚至作息规律都了如指掌。他模仿我的风格,植入后门,然后擦除痕迹。这不是脚本小子能干的活儿。
我做了个实验。故意在代码里放一个明显的SQL注入漏洞,然后提交、部署,静观其变。当天晚上十点,服务器日志显示有人尝试注入,payload被我的陷阱捕获——那是一个指向内网某个端口的反向shell请求。
顺着这个端口,我摸到了一台跳板机。跳板机的日志里,残留着一个SSH密钥的指纹。我比对了一下,这指纹居然和我三年前离职的那家公司的CI/CD服务器完全一致。
三年前?我离职的时候,那台服务器明明已经退役销毁了。
除非——有人把它从“已销毁”状态里恢复了,或者,当年那个“销毁”根本就是个幌子。我现在没法确认,但我知道一件事:这个漏洞不是技术问题,是人留下的。
我不打算上报。因为一旦上报,调查流程会先怀疑我——毕竟后门代码的“笔迹”太像我自己了。我选择继续观察,把那个后门留着,反向监控它的每一次触发。
三天后,后门再次被触发。这次我抓到了完整的攻击链:对方从一家云服务商的IP发起请求,先打了一个冷门的框架漏洞,然后提权,最后精准地找到我留下的那个“假漏洞”。整个过程干净利落,像一把手术刀。
云服务商的注册信息显示,用户名叫“lin”,注册邮箱是我前公司的企业邮箱域名。
我盯着那个邮箱地址,忽然想起一件事:三年前,我们组有个实习生叫林晓,入职两周就离职了,理由是“家里有事”。她走的那天,我帮她清理过工位,她电脑上贴着一张便签,写着一串看起来毫无意义的字符。
我现在才反应过来,那串字符是RSA私钥的base64编码。
那个系统漏洞,从来就不在代码里。它在我没删干净的回忆里。
友情链接