游客发表

鲤鱼ace安全漏洞7

发帖时间:2026-10-17 05:15:01

鲤鱼ace的鲤鱼第七个安全漏洞,是全漏我在凌晨两点十七分发现的。当时我正对着屏幕啃一根已经凉透的鲤鱼烤肠,手指无意识地在键盘上敲着`ping`命令。全漏服务器返回的鲤鱼数据包里,TTL值突然从64跳到了128——这不对劲。全漏正常路由跳转不会让TTL翻倍,鲤鱼除非有人在中途伪造了ICMP重定向。全漏

我放下烤肠,鲤鱼把抓包工具切到混杂模式。全漏三分钟后的鲤鱼结果让我后背发凉:鲤鱼ace的认证模块在处理`X-Forwarded-For`头时,会把逗号分隔的全漏最后一个IP当作真实来源。这个设计本身不算致命,鲤鱼但配合它那个“记住我”功能的全漏cookie签名算法——用的是时间戳加用户ID的MD5,连个盐都没加——攻击者可以伪造任意用户的鲤鱼登录态。

具体怎么操作?举个例子。假设你叫张三,用户ID是10086。你在2024年3月15日下午3点42分登录过鲤鱼ace。攻击者只要知道这两条信息,就能在本地跑一段脚本,把时间戳暴力枚举到那个时间点前后十分钟,生成几百个MD5值。然后拿这些值去撞cookie。撞中了,你就是他。

我写了个PoC,二十行Python。跑起来之后,三秒内拿到了管理员权限。后台面板里躺着四万多个用户的手机号、邮箱、还有他们上传的私密文件。文件列表里有个叫“离婚协议书.docx”的,修改时间是三天前。我没点开。

这个漏洞的根源不是技术难题,是态度问题。鲤鱼ace的开发团队在GitHub上有个公开仓库,我翻过他们的提交记录。去年八月有人提过issue,说cookie签名太弱,建议用HMAC-SHA256。维护者回复“已知,低优先级”。然后就把issue关了。那个issue的编号是#1145,我现在还记得。

更离谱的是,他们的WAF规则里居然有一条专门拦截`X-Forwarded-For`包含多个IP的请求。这说明他们知道这个头会被滥用。但他们只防了外部请求,没防内部服务之间的调用。微服务架构下,网关把请求转发给认证服务时,会重新构造这个头。攻击者只要在原始请求里塞一个伪造的IP,网关就会把它当成真实来源写进去。WAF拦了个寂寞。

我通过HackerOne提交了报告。七十二小时后收到回复,说“正在评估”。又过了五天,状态变成“已确认,中危”。中危?我拿着管理员权限能删库能跑路,你跟我说中危?他们给的理由是“利用需要已知用户ID和时间戳,条件较苛刻”。可用户ID是自增的,时间戳可以枚举。这条件苛刻吗?

昨天收到他们的修复通知。补丁是把MD5换成了SHA256,加了个静态盐。静态盐。所有实例共用同一个字符串。我试了试,用彩虹表跑四十分钟还是能撞出来。只不过从三秒变成了四十分钟。对于定向攻击来说,四十分钟算时间吗?

我认识的一个白帽子朋友说,鲤鱼ace的漏洞赏金最高给过两千块。两千块,买一个能接管全站的管理员权限。他说这话的时候在笑,笑得有点苦。我没笑。我在想那个“离婚协议书.docx”,它的主人可能到现在都不知道,自己的私密文件曾经在一个陌生人的屏幕上一闪而过。

凌晨四点零九分,我关掉终端。烤肠的竹签还插在垃圾桶里,像一根没烧完的香。鲤鱼ace的首页依然亮着,登录框下面那行小字写着“您的安全是我们的首要任务”。我截了个图,存进漏洞报告的附件里。然后合上电脑,去睡了。

    热门排行

    友情链接