最近给甲方做的小程序项目因为赶时间,没有权限隔离,大部分 API 和管理端共用.
甲方找的第三方扫漏洞,说我们明文返回数据,数据越权.
为了解决问题,我们经理想到 用 (RSA+AES+HMAC 校验)给数据加密.
这个有必要做吗?或者有更简单的方案吗?

这个就是给他们人显示,就是一个代表联系人列表,业务就是这.

他们解释"越权"的意思就是: 这个列表点开联系人详细信息,要二次验证.

不过这些信息要加密,不能明文传输,即使是 HTTPS.

不好意思怪我没说清,我也了解清楚了.

我们今天给所有接口加了一个 RSA+AES+HMAC

没必要那么麻烦 直接用一个固定密钥 AES 就行

明文返回数据不是问题,数据越权是极其严重的问。框架层面统一做一下 aes ,这个好解决,权限就稍稍麻烦一点了。

你就做个 base64 就行了,大部分扫描都是只扫明文

不想加密就 base64,想加密就 aes

不行啊,小程序是腾讯的,怕数据泄露

我问问可以不.
证书也是在小程序保存这个,感觉还是不安全

同#2 明文是小事 数据越权是大事 问题分清楚主次 然后依次解决

我们公司之前做的小程序基本上都是 aes 加密 然后再上一道 base64

有敏感信息的,是一定要加密的,现在不都使用国密么,只要数据加密了,大部分的越权问题也能解决。但是从根本上解决越权还是要做身份验证机制,即用户访问的数据和实际身份做严格划分。。

把权限机制加上呗

这个没必要做。如果是应付检查怎么简单怎么来。数据越权要处理。

用 https 即可防数据泄露。要说什么 F12 查看网络请求是明文的 这是防不懂的客户挑刺,根本不是防黑客好吧。

“甲方找的第三方扫漏洞,说我们明文返回数据,数据越权”,这个是明文传输还是越权漏洞?,如果是越权的话前端加密是不解决问题的,要鉴权。

这俩没点毛关系,前端加密犹如皇帝新衣。数据越权跟加密也没几分关系。

明文返回数据有两种情况,1 是明文返回了用户手机号等隐私信息,这个是要做脱敏。2 是说普通不敏感数据传输过程明文,这上了 https 就无所谓,爱抓包抓呗,反正只能抓自己的。

很多不太讲究的项目,存在水平越权,扫描工具轻松就给你扫出来了。

明文返回数据还要被说有点幽默了,这个甲方估计也不怎么样,随便糊弄糊弄把他第三方过了得了。
base64 一下返回值,再把一个接口的路径映射一下成两个路径,看能不能通过

小程序有没有强制 HTTPS 访问?

人家就是 f12 ,看到客户列表是明文的,有联系方式,姓名照片.
越权 是它用不同 ID 能把数据拉出来,说要显示客户详细数据要二次验证,谁在看不能显示客户联系方式,地址.

#18 这是我说的脱敏问题,而不是加密问题,隐私数据就不该返回,而不是加密的返回

加个新接口不是很简单的事?搞原先接口不是更麻烦?

你应该做的是老老实实给这个原本给 B 端的接口封装一下,加上权限校验,脱敏逻辑,给 C 端。而不是投机取巧应付检查加个 base64 只要扫不出来就糊弄过去

听上去像一个接口既可以用前端登陆后的默认 ID 返回普通用户自己的信息,又能作为管理作用返回任意传入 ID 的信息?如果没理解错,这种是要被甲方打死的漏洞吧。。

越权加密没用,没做权限管理,至少我上次是对请求参数和返回结果加密(国密要求),结果就是 oom ,这玩意加解密太吃 CPU 了,访问量一上来直接把服务器打挂了

完全两码事,明文只会看一些密码之类的敏感数据,随便脱敏 base64 一下就差不多了,越权才是关键。

这个就是给他们人显示,就是一个代表联系人列表,业务就是这.

"越权"的意思就是这个列表点开联系人详细信息,要二次验证.

不过这些信息要加密,不能明文传输,即使是 HTTPS.

不好意思怪我没说清,我也了解清楚了.

我们今天给所有接口加了一个 RSA+AES+HMAC