去年给各家云服务商网站做了个检查,发现他们只给前端页面展示的个人信息脱敏,网站 AJAX API 的就完全是明文。比如手机号在网页显示 138****1234,实际上在 API 返回数据里有完整手机号。
我当时看到每家都这样暴露用户注册邮箱、手机号、姓名、身份证号等,想着只要我的浏览器不装不靠谱的扩展,应该问题也不大。
过年一年了今天突然想起,又去各大家网站检查了一下,发现居然只有阿里云进行了改进,其他家只改进个别接口?而且发现 @腾讯云 不仅暴露前端需要的信息,居然连前端完全不需要的认证银行卡信息也暴露了?
我没有开玩笑,以下列几个接口,大家可以自行查证:
几乎每家都有暴露实名认证的姓名和身份证后 4 位。
腾讯云接口 /cgi/login?action=checkLogin 返回的 data.ownerInfo.passedBankInfo 里有认证用的银行卡信息(包括银行名、姓名、卡号、开户行),认证通过以后前端都没有银行卡展示了,完全用不着的东西不读取不行吗?你读取了还要完整返回,这是想干嘛?故意留个口子给恶意扩展读取用户信息?
又拍云控制台前端隐藏了手机号中间几位,然而接口 /accounts/profile/ 返回的是完整手机号。想要明文展示你就明文展示,何必做这种自欺欺人的行为呢?我没有实名认证,我要实名认证了怕是也在 /api/accounts/certificate/ 返回我完整的认证信息吧?
七牛云前端也隐藏了手机号中间几位,请求接口 /api/gaea/user/overview 返回的也是完整手机号。
我说各家云,你们要像青云那样完整读取了也在网站完整展示,我好歹知道其中风险。你们完整读取了,却装模做样已经脱敏,在前端按脱敏格式显示,绿茶婊行为吗?
请各家云内部人员或同事看到了,反馈上去,尽快修改。你们这样使用用户个人信息肯定是不合规的
1
loading 2020-03-21 11:35:19 +08:00
哇,后端出来背锅。这明显是通用接口一把嗦了。
|
2
opengps 2020-03-21 11:36:50 +08:00
某些无良网站就是这样偷取用户手机号的
|
3
shansing 2020-03-21 11:41:24 +08:00 1
我想到某小厂 IM 软件,查看好友的时候好友整个 accountInfo 对象都传过来,还包括密码。
|
4
eason1874 OP |
5
also24 2020-03-21 13:00:12 +08:00
之前因为类似的问题专门和同事沟通过,我一再强调,不需要使用的字段,一个都不传。
但确实还会遇到很多人为了图省事儿,一整个表直接发出来(毕竟这样方便,ORM 直接出结果)。 |
6
lanternxx 2020-03-21 13:07:46 +08:00
试了一下,我的腾讯云返回的 passedBankInfo 是空的
|
8
chotow 2020-03-21 13:10:16 +08:00
七牛云和又拍云复现成功,腾讯云因为没绑定银行卡,不清楚。
|
9
wangxiaoaer 2020-03-21 13:22:44 +08:00
如果是登陆后返回给个人的接口这样有啥问题吗?不登陆用户又看不到别人的。
第三方拦截? |
10
also24 2020-03-21 13:25:28 +08:00
@wangxiaoaer
楼主在主贴里其实已经写到了其中一种获取方式:恶意扩展 |
11
attker 2020-03-21 13:27:25 +08:00 via iPhone
@wangxiaoaer 很多信息哪怕登录后也是敏感的,例如银行卡身份证号,它可用这个信息去爆破别的账号信息。被盗往往就是从薄弱的环节开始逐个爆破
|
12
mejee 2020-03-21 13:35:55 +08:00
个人感觉还说的过去。因为是登录鉴权后才返回的,要是自己浏览器都不安全.......
|
13
eason1874 OP @also24 #5 可惜很多人意识不到无用的暴露会增加潜在的风险。
@lanternxx #6 @chotow #8 腾讯云控制台首页看 /cgi/capi?cmd=GetCurrentUserInfoV2 这个接口的 data.data.authInfo 有姓名、身份证号、身份证地址。 @wangxiaoaer #9 看过国产区视频吧?那么多“百度云泄露”你知道怎么来的吗?有一部分就是浏览器恶意扩展偷了分析链接和密码去下载的。 @mejee #12 浏览器安全很重要,但这不是能随意暴露无关用户信息的理由。像手机号、身份证、银行卡这些信息在他们前端网页都脱敏了,说明他们也知道这不能随意展示,那为什么 API 就完整读出来呢?网站完全用不着的,根本不用读,读了只会增加用户信息被泄露的风险。 |
14
diaosi 2020-03-21 14:46:29 +08:00
提交 tsrc,说不定能换十块钱;如果腾讯在 hackerone 上有项目,说不定能换个几百块钱。
|
15
lanternxx 2020-03-21 16:27:29 +08:00
x 度云加速甚至直接返回手持身份证正反面照片,连个水印都没有
|
16
dingyx99 2020-03-21 16:35:06 +08:00
七牛和腾讯复现成功,因为腾讯不是银行卡认证的所以字段为空
|
17
jin7 2020-03-21 16:43:09 +08:00
太可怕了 浏览器扩展都是随便装的 也不可能去审查它的代码 而且很多扩展是闭源的
|
18
Jaosn 2020-03-21 16:53:28 +08:00
我以为就我公司这样,没想到大厂也一个屌样
|
19
eason1874 OP @diaosi #14 这我倒没想到,有空我提交个看看他们处理不。
@lanternxx #15 这个更严重,你提交个工单反馈看看。 @dingyx99 #16 这个银行卡信息在前端都没有入口了,好像是早期认证方式,我新账号也没有填过银行卡。根本用不着的东西他们也读出来,增加无端风险。 @jin7 #17 所以得用上多用户功能,建两个 chrome 快捷方式,一个 –profile-directory=”Default” 一个 –profile-directory=”Profile 1″。默认的尽量少安装,而且只安装自己审查过的或者在 chrome webstore 上架的扩展,敏感网站都用这个上。另一个就随意安装,但不上敏感网站。 @Jaosn #18 看不见绩效的东西,有时候反而是小公司比较有原则。 |
20
hst001 2020-03-21 19:15:34 +08:00
没人管就是这样,怎么方便怎么来
|
21
PerFectTime 2020-03-21 20:36:11 +08:00
楼主你艾特一下 @tencentcloud 我降权了艾特他收不到消息
|
22
123444a 2020-03-22 01:13:37 +08:00 via Android
|
23
eason1874 OP @tencentcloud 来看你家无用接口是怎么增加个人信息暴露的风险。
|
24
123444a 2020-03-22 14:22:45 +08:00 via Android
在欧洲起诉腾讯云违反欧盟私隐条例能不能获得巨额回报
|
25
Coioidea 2020-03-22 17:14:34 +08:00
好多扒信息的都是利用的类似 api 吧!希望改进啊
|