freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

漏洞挖掘 | 通过API接口拿到CNVD证书
2024-02-18 08:58:05

漏洞概述

某公司平台系统存在敏感信息泄露漏洞,由于对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了:)

# 渗透测试 # web安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录