警惕Zenly社交应用程序漏洞,可能会泄露用户数据
Checkmarx安全研究小组发现,Snap公司的Zenly社交应用程序,可以让用户在地图上实时看朋友和家人的位置。但是该应用程序包含了2个漏洞,可能会泄露用户数据,对被追踪者造成危害。目前这两个漏洞已经打上补丁,为了避免受到影响,用户应及时升级到最新版本。
漏洞一:暴露电话号码
这2个漏洞中,一个是用户数据泄露漏洞,该漏洞是中等严重程度的漏洞,它会暴露用户的电话号码。当向用户提交添加好友请求时,无论该请求是否被接受,Zenly都将会允许攻击者访问他们的电话号码,为了获得这些信息,恶意攻击者只需要知道他们的用户名。
研究人员表示,获取用户名很简单,因为Zenly暴露了一个用户详尽的朋友名单。那么攻击在实践中是怎么进行的?为此,Checkmarx提供了一个网络攻击者针对CEO进行攻击的假设。
攻击链的步骤如下:
1、先在网上搜索该公司的员工,并获取该员工的社交媒体账号;
2、在通信或营销领域工作的员工一般更容易暴露,也更容易称为被攻击的目标;
3、在Zenly上检查账号是否有效;
4、通过Zenly访问他们的朋友名单,获得CEO的账号,再通过他们的用户名,利用该漏洞获取CEO的电话号码。
5、利用CEO的电话号码,进行鱼叉式钓鱼攻击。
通过重复以上步骤,攻击者还可以获得其他员工的电话号码,从而可以进行更精准的攻击。
漏洞解析
Checkmarx表示,该漏洞其实是利用了 "按用户名添加 "的功能,该功能只需要使用一个已知的用户名。然后,制作一个能够拦截和解码网络请求的环境,实时查看网络活动的数据,查看在搜索用户名期间发生的请求。
通过观察在/UserPublicFriends端点上执行的请求的响应,可以看到一个朋友列表,尽管它没有显示在应用程序的用户界面上,但是这个列表中包含了用户的每个朋友,其中一个是Bogus_CEO(模拟的CEO,用于演示)。注意:响应的内容还包含了他们的用户名。同样,反过来还可以利用这个过程,获得他们的朋友名单。
研究人员表示,一旦确定了目标用户名,同样可以通过一个名为 "按用户名添加 "的功能获得相关的电话号码,然后点选"添加为好友"按钮。这个朋友邀请将会对/FriendRequestCreate端点发起请求,其响应包含我们用户和目标用户的具体信息,请注意,该响应同时包含了我们的电话号码和目标用户的电话号码,尽管我们的朋友请求从未被目标用户接受。
漏洞二:账户接管漏洞
第二个漏洞是账户接管漏洞,被评为中等严重危害程度。该漏洞允许攻击者像合法用户一样访问用户的位置、通知、对话和朋友的信息。该漏洞存在于用户认证流程中,该认证过程使用了包含验证码的短信来验证会话。短信发送给用户后,应用程序会调用/SessionVerify端点,同时使用会话令牌和通过短信收到的验证码。
攻击者可以滥用/SessionCreate端点来窃取会话令牌。一旦有合法用户验证了该会话令牌的短信代码,该会话将对合法用户和攻击者都有效......这意味着攻击者现在对合法用户的账户拥有一个有效的会话,尽管攻击者从来不知道验证码。
第二个漏洞被评为中等严重的原因是只利用该漏洞,比较难进行攻击。攻击者需要利用第一个漏洞获得用户的手机号码。此外,还需要知道用户什么时候登录、注册、注册新设备或因任何其他原因通过认证流程。
Zenly社交应用程序漏洞会引发很多安全问题,可能会导致用户的数据信息泄露,暴露用户的位置信息,可能会对用户造成危害。因此,为了避免因漏洞带来的影响,应及时将程序升级到最新版本,才能保护好数据信息安全。