下午两点,全漏北京中关村一间挤满人的洞技会议室里,投影仪上正放着一串十六进制代码。术沙坐在第三排的全漏姑娘突然举手:“这个越权接口,我们上周刚在客户环境里抓到过。洞技”全场安静了半秒,术沙然后炸开锅。全漏这就是洞技今天的《app安全漏洞技术沙龙》——没有主持人念稿,没有嘉宾轮流上台念PPT,术沙所有人围着一张长桌,全漏聊的洞技全是刚发生过的真实攻防。
第一个话题是术沙某银行app的“逻辑炸弹”。分享者是全漏个戴黑框眼镜的年轻工程师,他调出一段截屏:用户转账时,洞技只要在金额输入框里先敲一个负号,术沙再输入数字,服务端校验竟然直接跳过。他顿了顿:“这个漏洞在线上躺了十一个月,直到有人用负一千块给账户充值,风控才报警。”桌边有人笑出声,但更多人低头记笔记。这种漏洞不在代码里,在业务规则里,常规扫描器根本扫不出来。
中场休息时,我旁边两个人在争论某社交软件的“会话固定攻击”。一个说“本质是session id没换”,另一个反驳“其实是客户端缓存策略太激进”。他们没吵出结果,但掏出手机当场复现——五分钟内,那个app的登录态就被劫持了。演示完,两人反而平静下来,开始讨论修复方案。这种现场验证的氛围,比任何技术文档都直观。
下半场有个案例让我印象特别深。某电商app的“越权查看订单”漏洞,根因是服务端接口只校验了用户是否登录,没校验订单归属。攻击者只需要改一下请求里的订单号,就能看到别人的收货地址、手机号。分享者说,他们用自动化工具跑了三天,抓了二十万条真实订单数据。“最可怕的是,这个接口还是用了HTTPS的,但加密解决不了权限问题。”这话让在场不少做运维的人脸色变了变。
临近结束,有个自由讨论环节。有人提到“现在很多团队把安全测试放在上线前最后一周,这根本来不及”。另一个做安全众测的平台运营接话:“我们统计过,漏洞发现时间越晚,修复成本呈指数上升。有个客户上线前一天才提交漏洞,结果紧急回滚版本,损失了整周的推广预算。”这些话没写在任何官方报告里,但比报告更有说服力。
散场时已经六点,仍有七八个人围在白板前画攻击路径图。我听见有人约“下周去你们公司,带套测试环境”。这场沙龙没有结论,没有宣言,但每个人都带着至少一个可落地的修复思路离开。安全这行,纸上谈兵没用,漏洞就躺在真实的代码和业务逻辑里,等着被发现,被修复,被下一个更狡猾的漏洞替代。这大概就是为什么,总有人愿意在周六下午挤进一间没有窗户的会议室。