前言:

在授权对某个项目进行测试时,我们发现目标的子域名存在未授权的API,这引发了一系列问题。在此,我们将情况记录下来并和大家分享。

挖掘过程记录:

1. 当小星尝试访问某系统时,页面显示为空白。

打开网易新闻 查看精彩图片

2. 通过FindSomething插件,小星发现了其他接口。然而,当尝试访问其中的某个接口时,却直接跳转到了登录界面。

打开网易新闻 查看精彩图片

3. 测试过程中,小星发现了存在用户名枚举的问题。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

4. 尽管没有发现弱口令问题,但通过Burp插件扫描,小星发现该网站存在未授权的Swagger API接口(/v2/api-docs)。正常情况下,直接访问该接口会被拦截。为了更好地发现潜在的未授权API接口,小星推荐使用Burp插件RouteVulScan。通过自定义常见未授权接口,可以更全面地检测API接口,提高安全性。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

5. 根据接口文档,小星尝试构造了一个请求,其中id参数为111,但未授权的情况下成功获取到了数据。这表明该接口存在未授权访问的风险。

打开网易新闻 查看精彩图片

6. 通过对参数id的值进行遍历,可以获取到整个系统的数据。

打开网易新闻 查看精彩图片

7. 在返回的数据包中,小星发现链接地址中存在用户的真实数据。此外,通过查询接口?type=0,我们可以获取到系统的全部排期信息。

打开网易新闻 查看精彩图片

8. 在某个接口getUserByRoleId中,存在一个功能是获取系统用户列表,其中包括loginName、id、orgid等参数信息。这些信息对于后续的漏洞利用至关重要。

打开网易新闻 查看精彩图片

9. 在账号收集过程中,我尝试使用常见的弱密码(如123456和111111)进行爆破,并成功地发现了一个账号存在弱密码。

打开网易新闻 查看精彩图片

10. 进入后台后,小星发现这个账号没有数据。通过查看登录的返回包信息,我们发现其中的数据与之前获取的系统用户信息非常相似。进一步尝试修改登录成功返回包中的参数id的值,替换成其他用户的id值,我们成功地登录了其他账号。

打开网易新闻 查看精彩图片