多家云服务商网站 API 随意暴露用户个人信息 @腾讯云 @又拍云 @七牛云

2020-03-21 11:25:35 +08:00
 eason1874

去年给各家云服务商网站做了个检查,发现他们只给前端页面展示的个人信息脱敏,网站 AJAX API 的就完全是明文。比如手机号在网页显示 138****1234,实际上在 API 返回数据里有完整手机号。

我当时看到每家都这样暴露用户注册邮箱、手机号、姓名、身份证号等,想着只要我的浏览器不装不靠谱的扩展,应该问题也不大。

过年一年了今天突然想起,又去各大家网站检查了一下,发现居然只有阿里云进行了改进,其他家只改进个别接口?而且发现 @腾讯云 不仅暴露前端需要的信息,居然连前端完全不需要的认证银行卡信息也暴露了?

我没有开玩笑,以下列几个接口,大家可以自行查证:

几乎每家都有暴露实名认证的姓名和身份证后 4 位。

腾讯云接口 /cgi/login?action=checkLogin  返回的 data.ownerInfo.passedBankInfo 里有认证用的银行卡信息(包括银行名、姓名、卡号、开户行),认证通过以后前端都没有银行卡展示了,完全用不着的东西不读取不行吗?你读取了还要完整返回,这是想干嘛?故意留个口子给恶意扩展读取用户信息?

又拍云控制台前端隐藏了手机号中间几位,然而接口 /accounts/profile/ 返回的是完整手机号。想要明文展示你就明文展示,何必做这种自欺欺人的行为呢?我没有实名认证,我要实名认证了怕是也在 /api/accounts/certificate/ 返回我完整的认证信息吧?

七牛云前端也隐藏了手机号中间几位,请求接口 /api/gaea/user/overview 返回的也是完整手机号。

我说各家云,你们要像青云那样完整读取了也在网站完整展示,我好歹知道其中风险。你们完整读取了,却装模做样已经脱敏,在前端按脱敏格式显示,绿茶婊行为吗?

请各家云内部人员或同事看到了,反馈上去,尽快修改。你们这样使用用户个人信息肯定是不合规的

3527 次点击
所在节点    全球工单系统
25 条回复
loading
2020-03-21 11:35:19 +08:00
哇,后端出来背锅。这明显是通用接口一把嗦了。
opengps
2020-03-21 11:36:50 +08:00
某些无良网站就是这样偷取用户手机号的
shansing
2020-03-21 11:41:24 +08:00
我想到某小厂 IM 软件,查看好友的时候好友整个 accountInfo 对象都传过来,还包括密码。
eason1874
2020-03-21 12:51:52 +08:00
@loading #1 看样子就是调用微服务获取用户信息,然后未经脱敏,也不按需过滤就直接返回了。

@opengps #2 对,这种 API 就是某些网站获取访客 QQ、手机号的渠道之一。

@shansing #3 个人信息被泄露,防不胜防。
also24
2020-03-21 13:00:12 +08:00
之前因为类似的问题专门和同事沟通过,我一再强调,不需要使用的字段,一个都不传。

但确实还会遇到很多人为了图省事儿,一整个表直接发出来(毕竟这样方便,ORM 直接出结果)。
lanternxx
2020-03-21 13:07:46 +08:00
试了一下,我的腾讯云返回的 passedBankInfo 是空的
lanternxx
2020-03-21 13:08:09 +08:00
@lanternxx #6 不好意思 刚发现我是微信认证的 没用银行卡
chotow
2020-03-21 13:10:16 +08:00
七牛云和又拍云复现成功,腾讯云因为没绑定银行卡,不清楚。
wangxiaoaer
2020-03-21 13:22:44 +08:00
如果是登陆后返回给个人的接口这样有啥问题吗?不登陆用户又看不到别人的。

第三方拦截?
also24
2020-03-21 13:25:28 +08:00
@wangxiaoaer
楼主在主贴里其实已经写到了其中一种获取方式:恶意扩展
attker
2020-03-21 13:27:25 +08:00
@wangxiaoaer 很多信息哪怕登录后也是敏感的,例如银行卡身份证号,它可用这个信息去爆破别的账号信息。被盗往往就是从薄弱的环节开始逐个爆破
mejee
2020-03-21 13:35:55 +08:00
个人感觉还说的过去。因为是登录鉴权后才返回的,要是自己浏览器都不安全.......
eason1874
2020-03-21 13:47:56 +08:00
@also24 #5 可惜很多人意识不到无用的暴露会增加潜在的风险。

@lanternxx #6
@chotow #8

腾讯云控制台首页看 /cgi/capi?cmd=GetCurrentUserInfoV2 这个接口的 data.data.authInfo 有姓名、身份证号、身份证地址。

@wangxiaoaer #9 看过国产区视频吧?那么多“百度云泄露”你知道怎么来的吗?有一部分就是浏览器恶意扩展偷了分析链接和密码去下载的。

@mejee #12 浏览器安全很重要,但这不是能随意暴露无关用户信息的理由。像手机号、身份证、银行卡这些信息在他们前端网页都脱敏了,说明他们也知道这不能随意展示,那为什么 API 就完整读出来呢?网站完全用不着的,根本不用读,读了只会增加用户信息被泄露的风险。
diaosi
2020-03-21 14:46:29 +08:00
提交 tsrc,说不定能换十块钱;如果腾讯在 hackerone 上有项目,说不定能换个几百块钱。
lanternxx
2020-03-21 16:27:29 +08:00
x 度云加速甚至直接返回手持身份证正反面照片,连个水印都没有
dingyx99
2020-03-21 16:35:06 +08:00
七牛和腾讯复现成功,因为腾讯不是银行卡认证的所以字段为空
jin7
2020-03-21 16:43:09 +08:00
太可怕了 浏览器扩展都是随便装的 也不可能去审查它的代码 而且很多扩展是闭源的
Jaosn
2020-03-21 16:53:28 +08:00
我以为就我公司这样,没想到大厂也一个屌样
eason1874
2020-03-21 17:19:36 +08:00
@diaosi #14 这我倒没想到,有空我提交个看看他们处理不。

@lanternxx #15 这个更严重,你提交个工单反馈看看。

@dingyx99 #16 这个银行卡信息在前端都没有入口了,好像是早期认证方式,我新账号也没有填过银行卡。根本用不着的东西他们也读出来,增加无端风险。

@jin7 #17 所以得用上多用户功能,建两个 chrome 快捷方式,一个 –profile-directory=”Default” 一个 –profile-directory=”Profile 1″。默认的尽量少安装,而且只安装自己审查过的或者在 chrome webstore 上架的扩展,敏感网站都用这个上。另一个就随意安装,但不上敏感网站。

@Jaosn #18 看不见绩效的东西,有时候反而是小公司比较有原则。
hst001
2020-03-21 19:15:34 +08:00
没人管就是这样,怎么方便怎么来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/654806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX