一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟

一次渗透从统一登录到全站用户接管

最近被派发了新任务,又开始测试了,测试中发现一个有意思的点于是记录下来。

1 前言

原漏洞已全部报送并修复。本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

2 入口

目标中发现一个查询服务平台,该平台仅提供登录功能,且点击登录后会直接跳转至统一认证系统

图片[1]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟

统一认证可以选择其他登录方式直接扫描登录,这样的话相当于自动注册了。

图片[2]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟

抓包分析显示,扫码登录首先调用第三方接口验证,成功后跳转至原站点登录接口,并自动生成账号、密码及 Uuid

图片[3]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟

过 UserName、PassWord 和 Uuid 可以获取用户的 Token。这里猜测既然是快捷登录,那么密码应该是一致,而Username则是有规律的。但因缺少有效的 Uuid,没办法直接爆破测试获取 Token。只能先利用自身账号进入后台抓包测试其他位置。

3 后台

图片[4]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟
进入后台个人中心,这里展示了一些基本信息。这个时候就可以考虑是否有遍历问题,寻找敏感ID值。
继续抓包,因为这里是返回了证件号手机号。应该是快捷登录时第三方接口授权的信息。结合刚才登陆也会调用原系统接口做一个验证,所以原系统应该也会有一个接口存有所有人信息。
图片[5]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟
抓包后发现确实存在返回个人信息的接口,但响应中未发现可用于遍历的 ID 类字段。当时觉得可能是通过Cookie值判断,然后返回个人信息,所以这里就暂时搁置。后续继续抓包其他功能点,于一个收货功能发现了可遍历ID。
图片[6]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟
这里的话可以遍历用户的地址手机号,但危害属实还太小。回想开始返回个人信息的接口,盲猜存在ID值:

 

GET /prod-api/xxx/xxxxuser/profile HTTP/1.1
Host: xxx.xxx.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Accept: application/json, text/plain, */*

 

直接去掉profile,改为ID值重新发送数据包。
GET /prod-api/xxx/xxxxuser/id HTTP/1.1
Host: xxx.xxx.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Accept: application/json, text/plain, */*

 

Fuzz遍历大量数据,且返回值包含用户名以及Uuid。(由于有些信息较为敏感,截取一些无关信息希望不要影响观感)
图片[7]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟
图片[8]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟
再回到登录接口通过UserName,PassWord,Uuid获取Token,从而接管全站用户。
图片[9]-一次渗透从统一登录到全站用户接管-网络安全论坛-网络安全-阻击者联盟

4 总结

统一认证扫码登录机制-> 个人中心敏感信息泄露 -> 收货地址功能发现可遍历 ID -> 替换个人信息接口参数批量获取用户名和 Uuid -> 利用已知用户名、密码猜测和泄露的 Uuid获取用户 Token -> 接管全站用户。

 

请登录后发表评论

    没有回复内容