长亭百川云 - 文章详情

漏洞挖掘 | 通过API接口拿到CNVD证书

转载机器人

69

2024-03-15

漏洞概述

某公司平台系统存在敏感信息泄露漏洞,由于对swagger-ui未做好访问控制措施,导致攻击者可以通过swagger页面获取网站API信息,进而导致攻击者构造payload对系统API进行攻击。

背景

在某次常规渗透测试项目中,有一个IP地址需要测试,访问过去发现是一个XX后台管理系统,根据登录页面的信息判断,是某公司开发的XX管理系统。于是对该系统进行测试,可惜没发现什么可利用的漏洞,于是改变思路,对这个IP进行信息收集。

首先收集端口开放信息,发现其开放了非常多的端口,挨个访问过去,发现每个端口基本都开放了web服务,这是个好消息呀,想着可以通过其它端口获取权限,进而回来渗透目标系统。

当访问到8083端口时,发现是个空白页面,但标题却显示某某平台登录。ctrl+U查看网页源代码,发现许多js文件,其中这一条吸引了我。

image.png

这又是api又是env,很难不让人联想到api信息泄露,于是对网站进行目录扫描,存在swagger-ui,看来是springboot集成了swagger-ui,并且没有设置身份验证措施。

image.png

于是对这些接口一一进行测试,发现了许多高危问题,例如敏感信息泄露,任意文件上传等。但可惜没有拿到权限,任意文件上传后只能查看,并不能解析,这次项目也就这样草草结束了。

突发奇想

项目结束后的某一天,在回看之前的文档时,又看到了这个系统,突然发现js文件里面写明了网站指纹信息,这个author前面的网址会不会就是开发者的网站呢?

image.png

访问过去看看,果然!是一个专门做某系统的公司,那就说明这个系统一定还有很多其它企业在用。

于是去fofa搜一下特征:body="xxx.com",有223条资产信息。

image.png

随便点开一个,复现之前的漏洞,首先访问swagger-ui,在这里有一个/xx/xx/xx/all的功能,它提供获取所有文件的功能。

image.png

访问这个API,发现泄露了文件系统内所有文件的信息,通过分析json内容,发现里面存储了所有上传的用户身份信息。

image.png

这里我们已经获取到所有文件的id级名称等信息,但是没有办法查看内容,于是回到swagger里面继续寻找。

发现一处“根据文件id获取文件信息”的接口,于是调用这个接口。

image.png

从刚才泄露的所有文件信息中选择一个id,拼接到这个接口后面,替换掉{fileId}并访问。

image.png

可以看到获取了该文件的详细信息,包括文件存储的物理路径、创建时间、文件大小等内容,但这还不能证明泄露的是敏感信息,需要真正看到图片内容才行,于是继续返回寻找可用的API接口。

image.png

上面这个api接口,可以直接获取文件缩略图,拼接id后访问,OK了获取到了用户敏感信息(这里就不放图了)。

通用型漏洞证明

现在漏洞有了,接下来就是证明它是否为通用型漏洞,CNVD的通用型漏洞要求如下:中危及中危以上的通用性漏洞(CVSS2.0基准评分超过4.0) 软件开发商注册资金大于等于5000万人民币或者涉及党政机关、重要行业单位、科研院所、重要企事业单位(如:中央国有大型企业、部委直属事业单位等)的高危事件型漏洞 通用型漏洞得十个网络案例以上。

首先看一看软件开发商注册资金是否大于5000万,很幸运我找到的这个整好比5000万多一些。接着是需要10个案例,那么就掏出fofa,再找出10个案例就好。刚才查询时有200多个网站存在相同特征,每个都试一下发现基本全都存在这个漏洞,完美~。

写好报告后直接提交至CNVD平台,等着下证书就OK了:)

转载自 freebuf:https://www.freebuf.com/articles/web/391882.html

作者:玄知安全实验室

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2