MoeNetwork / Tieba-Cloud-Sign

百度贴吧云签到,在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到。配合插件使用还可实现云灌水、点赞、封禁、删帖、审查等功能。注意:Gitee (原Git@osc) 仓库将不再维护,目前唯一指定的仓库为 Github。本项目没有官方交流群,如需交流可以直接使用Github的Discussions。没有商业版本,目前贴吧云签到由社区共同维护,不会停止更新(PR 通常在一天内处理)。
https://github.com/MoeNetwork/Tieba-Cloud-Sign/wiki
Other
1.81k stars 414 forks source link

5.00 及以前的版本存在相同密码用户可互相访问的漏洞 #254

Open BANKA2017 opened 10 months ago

BANKA2017 commented 10 months ago

问题描述

云签使用 uidpwd 作为 cookie 的两部分用来鉴权,由于计算 pwd 时没有加盐,所以相同密码的用户的 pwd 是一致的,这就导致相同密码的用户只需要简单修改 cookieuid 部分即可开始尝试爆破。只要密码相同,不论是什么用户类型都可以互相访问

https://github.com/MoeNetwork/Tieba-Cloud-Sign/blob/993247e0b3e2a86582549553d437b548ae3103a1/lib/globals.php#L143-L156

复现步骤

环境

BANKA2017 commented 10 months ago

这严重吗?

云签作为古老的软件,现在还有多少活跃用户我不清楚。爆破不需要知道邮箱或账号名这两个登录凭据中的任意一个,而是使用自增的 uid,并且通过一般 log 都不会记录的 cookie 进行,所以我不清楚是否严重,也许有心人已经干了很久了——反正也没有记录

有的云签站可能开了登录注册页验证码,但这个漏洞本就无需经过登录所以也可以绕过

一旦爆破成功,即可拿到目标账号名下所有的明文 bdussstoken 如果攻击目标是管理员:

该怎么办?

一些回应

攻破本软件的用户几乎不会有任何收益,没有任何使用复杂散列算法的必要,能防止撞彩虹表就已经可以了

总之,社区是无法强制要求所有站点都更新的,并且可能永远都不会有人去利用这个费时费力的低收益漏洞

n0099 commented 10 months ago

@enferas Please assign a CVE for this like #156