凌晨两点十七分,白帽漏洞我的白帽漏洞手机屏幕突然亮起。不是白帽漏洞闹钟,是白帽漏洞HackerOne上一条新漏洞报告的状态变更——那个被我标记为“低危”的越权接口,被厂商直接升级成了“严重”。白帽漏洞三分钟后,白帽漏洞奖金到账通知弹出来,白帽漏洞$5000。白帽漏洞我关掉手机,白帽漏洞盯着天花板,白帽漏洞忽然觉得这行当挺荒诞的白帽漏洞:我们拿着政府和企业最怕的东西,换他们最想要的白帽漏洞信任。
干白帽这行,白帽漏洞每天要跟一种错觉搏斗。白帽漏洞甲方总觉得“我们系统是白帽漏洞银行级安全”,乙方(也就是我们)总得礼貌地拆穿说“您那SQL注入,连小学生都能扫出来”。上个月测试某政务App,我提交了个任意文件上传漏洞,对方技术负责人第一反应是“你肯定是社工骗来的账号吧”。我把攻击链完整写出来——连他们内网某台打印机默认密码是admin都标注了——他才沉默,然后问我要不要入职。我没去。自由惯了,受不了打卡。
真正的白帽,很少像电影里那样炫技。大部分时间在跟业务逻辑较劲。比如某电商平台,优惠券叠加规则里有个整数溢出,理论上能无限薅羊毛。我构造了三个恶意订单,金额显示负一千二百万。平台风控没拦,倒是财务系统先崩了。那晚我收到对方安全总监的语音留言,声音沙哑:“兄弟,别往上捅,我们内部走流程,双倍赏金。”我没录屏,就回了个“行”。干这行,信誉比技术值钱。
但有些边界,比代码漏洞更难处理。去年有人出价三十万,让我测某社交软件的零日漏洞,说“只是验证概念,绝不外泄”。我查了下买家背景——关联公司有暗网交易记录。直接拉黑,顺手给厂商提了个情报预警。这行诱惑太大,白帽之所以“白”,不是因为技术高,是因为每次能忍住手不抖。
说到底,白帽是种悖论式职业。我们用破坏性的手段做建设性的事,用黑客的逻辑防黑客。最讽刺的是,很多漏洞被修复不是因为厂商良心发现,而是因为我们提前在漏洞赏金计划里标了价。有次跟朋友喝酒,他说你们这行就是“收保护费的”。我笑了,没反驳。但心里清楚——真正的保护,不是收钱不捣乱,而是把每一扇没锁的门都告诉主人,哪怕主人觉得你多管闲事。
天亮前,我收到厂商发来的致谢邮件,末尾附了句“感谢您让我们的系统更安全”。我没回。关掉电脑,窗外早高峰的车流开始蠕动。他们不会知道,昨晚有个陌生人替他们挡了一刀,而报酬只是一串数字,和一点睡不着的成就感。