星罗安全部门一直致力于推动开放平台上的产品安全,使星罗应用拥有更好的用户体验和具备更安全的功能。从目前的情况来看,我们发现部分应用存在下面几种常见的安全漏洞或缺陷,这些安全漏洞除了对应用本身带来影响外,也会给开发者带来损失。
app secret泄露
app_secret是应用请求开放平台生成access_token的唯一认证,使用app_secret目的是确保应用是开发者本人在使用。
开放平台拥有不同的接口调用资源和API权限。如果接口资源被盗用,进行恶意操作,开放平台会对应用的资源和权限进行限制,这样会直接影响到该应用的正常API的调用。因此,对于开发者来说,有必要保护自身信息安全,相应的安全资源不被非法使用,从而保障应用的正常运行。
app secret泄露的常见原因:
1. app secret出现在页面源代码或者url中,导致直接查看源代码即获得。
2. 未使用HTTPS安全传输协议,攻击者通过网络嗅探获得。
access_token泄露
access_token是开发者通过应用访问开放平台的会话标识,应用程序要做好保护工作,防止被第三方窃取。
常见的access_token泄露途径:
1. access_token保存在cookie或者页面代码中,攻击者通过xss漏洞窃取用户token。
2. 应用服务器存在sql注入漏洞,导致用户token泄露。
开发者身份伪造
完成OAuth 2.0授权认证后,应用方可获得象征开发者身份的access_token,一般直接用于接口调用。但部分应用需要获得开发者的uid,作为同自身账号体系做关联的认证凭据,以提供更多应用自身的服务内容。
在此场景下,常见的漏洞有:
1. 客户端直接以授权接口返回的uid或提取access_token中的uid,回传应用自身服务器作为认证凭据。该传输过程可被非法拦截,通过篡改uid伪造开发者身份。
2. 客户端将access_token回传自身服务器,服务器提取其中的uid作为认证凭据,但并未校验该access_token的合法性。此时,通过骗取A 开发者授权X应用,获取access_token后传入Y应用服务器,便可拿到Y应用的A开发者凭证,访问Y应用中该开发者的服务内容。
技术安全涉及的范围比较广,开发者除了要注意避免掉上面常见的安全问题外,也应该关注最新安全趋势,了解自身产品的安全缺陷,更重要的提升产品的安全性能和开发者人员的安全意识,只有这样,才尽可能的减少安全问题产生。如果出现安全漏洞,可以及时联系我们,我们会第一时间提供解决方案。