0x00 前提
swagger ui 简介
Swagger UI允许任何人(无论您是开发团队还是最终用户)都可以可视化API资源并与之交互,而无需任何实现逻辑。它是根据您的OpenAPI(以前称为Swagger)规范自动生成的,具有可视化文档,可简化后端实现和客户端使用。
简单的说就是个API文档吧。。
该文档一般在首页或者接口目录(一般spring boot也可能整合swagger-ui)也可能在任何地方。
FUZZ字典
/api.html
sw
swagger
swagger-resources
swagger-ui
swagger-ui.html
swagger.json
swagger.yaml
swagger/index.html
swagger/swagger-ui.htm
swagger/swagger-ui.html
swagger/ui
swagger/v1/swagger.json
swaggerui
swagger/static/index.html
user/swagger-ui.html
static/swagger.json
distv2/index.html
swagger-ui/html
v2/swagger.json
api/v2/api-docs
api/index.html
swagger/codes
/sw/swagger-ui.html
/api/swagger-ui.html
template
/template/swagger-ui.html
/spring-security-rest/api/swagger-ui.html
/spring-security-oauth-resource/swagger-ui.html
/api-docs
/v2/api-docs
/swagger-ui.html
swagger-resources
core/latest/swagger-ui/index.html
csp/gateway/slc/api/swagger-ui.html
api/
api/2/explore/
api/2/issue/createmeta
api/error_log
api/jsonws
api/jsonws/invoke
api/login.json
api/package_search/v4/documentation
api/swagger
api/swagger-ui.html
api/swagger.yml
api/v1
api/v2
api/v2/helpdesk/discover
api/v3
apibuild.pyc
apidoc
apidocs
有的时候遇到了swagger-ui接口文档,就是例如
swagger-resources
swagger.json
这种接口文档,但是swagger-ui.html这个前端页面被删除的话,就很麻烦,得想办法解析这些接口文档,所以有了这篇水文。。。
0x01 进入正题
0.目标站点仅有接口文档,无swagger ui前端页面的情况
一般情况能访问swagger-ui.html等前端页面的就先不说,主要是说只能访问到swagger-ui的接口页面
例如
然后不想肉眼看json咋办?
我有个比较懒的想法………………
自己下载一个swagger-ui然后本地加载
1.下载swagger-ui
找到dist文件夹
里面的index.html就是啦
双击打开
nice,我们就利用这个去搞
2.下载swagger-ui配置文档
2.1将文档内容复制下来保存未json,放在统一目录下(方便管理嘛,笑:)
2.2将dist这个文件夹拷贝到你的http服务里面去(当然你也可以使用python搭建起一个简易的web服务)
为什么要这么操作?因为不这么操作就很可能需要cors跨域了。。。
2.3打开你下载的swagger-ui.html,我这边搭建的则是http://127.0.0.1/swagger-ui-3.51.1/dist/index.html
这里输入配置文件的地址(我放在统一目录了,注意跨域问题……不然可能会加载不了,同一web服务下就肯定不会有这种问题啦)
直接将配置文件加载出来了
此外可能json配置文件还需要修改其他的会比较好用,比如path(路径)不一致,host(域名)不一致,这个只需要修改json里面的就好了
随意点击一个接口
抓取数据包。。。没毛病,可以进行测试了。。。
3.无。。。。。
就这么简短且无趣