干货 | Swagger的多种测试方式

admin 2023年10月25日11:44:52评论290 views1字数 1742阅读5分48秒阅读模式
免责声明: 该教程仅用于网络安全学习,如有人利用该技术从事违法犯罪行为一切和作者无关,请各位遵守法律法规!

设置星标,可以获得公众号文章的大图推送,感谢各位表哥的关注!!!

干货 | Swagger的多种测试方式

Swagger简介

Swagger是一种API文档生成工具,它可以通过扫描API代码或手动编写描述文件来生成API文档。Swagger UI是Swagger的一个交互式用户界面,它可以让开发者在浏览器中浏览和测试API。

当API开发者使用Swagger来生成API文档并使用Swagger UI来展示文档时,所有公开的API接口都会被暴露出来。这样做的主要目的是为了方便API的使用者查看和测试API接口,以及了解API的功能和参数等信息。

同时,Swagger UI还提供了一些交互式的功能,如API测试、请求和响应的预览等,使得API使用者可以更加直观地了解API的使用方式和效果。

总之,Swagger UI把接口暴露出来是为了方便API的使用者查看和测试API,提高API的可用性和易用性。

看到上面的简介就知道了,这个swagger的UI界面除了方便客户使用和查询接口,同时也方便了攻击者进行接口测试,从而发现安全漏洞。

下面我介绍对swagger的几种测试方式

一、在swagger原本页面进行测试

可以看到,找到swagger UI界面后,是下面这个样子,直接把所有的接口都列出来了,但是要进行接口测试的时候,要注意DELETE方式,可能会造成一定的风险,不要随意测试。

干货 | Swagger的多种测试方式

随机点击一个接口,输入上该接口要求的参数,点击try it out就能直接在该页面进行接口测试,返回值也会显示在该页面。

干货 | Swagger的多种测试方式

二、使用SOAPUI工具进行分析测试

这样在页面直接进行测试可能不太方便,因此可以使用一款工具,将接口信息全部导入进去,然后就可以像在burp中的repeater模块中测试一样。

下载地址:https://www.soapui.org/

首先先点击Empty创建一个项目,创建后就在该项目右键,选择lmport Swagger/OpenAPI Definition

干货 | Swagger的多种测试方式

这里呢进行导入swagger中的接口,要注意不要直接导入swagger.html这种形式,要导入json文本格式或者api-docs格式。这两种格式,在你找到swagger那个UI界面之后,都是同时伴随着的,很容易就能找到。

干货 | Swagger的多种测试方式

干货 | Swagger的多种测试方式

导入成功之后,就能直接在这个工具进行测试参数,就跟在burp中测试差不多。点击这个绿色的三角按钮就能不断发包。

这个工具也是能够对接口进行自动化探测,但是我一般不使用这个,我会使用下面的那个脚本工具进行探测。

干货 | Swagger的多种测试方式

三、使用脚本进行快速探测接口

这个方法呢,也是我最喜欢和最常用的,使用脚本swagger-hacker.py进行快速探测接口是否可利用。

下载地址:
https://github.com/jayus0821/swagger-hack

找到一个swagger.json文件。

干货 | Swagger的多种测试方式

这些自动化工具,对于swagger的测试都需要api-docs或者json格式!

该工具主要是对swagger的接口进行快速的探测接口的存活,说不定能够直接探测出信息泄露的接口,这样特么的就赚大了。

python .swagger-hack2.0.py -u https://xxxx/swagger/v1/swagger.json

干货 | Swagger的多种测试方式

文件里会导出测试后的记录!

干货 | Swagger的多种测试方式

要是运气好了,找到一个信息泄露的接口,那就会出现下面这种情况,直接泄露大量人的个人信息和账号密码。

干货 | Swagger的多种测试方式四、结合漏扫工具测试漏洞

以上这个swagger-hack脚本工具呢,主要是对接口测试,测试这个接口能不能直接未授权使用,查看返回值是不是200,但是并不会对接口进行sql注入等测试,扫描后找到返回值为200的接口,可以使用burp+xray进行安全漏洞扫描。

通过上一步的扫描,找到返回值为200的接口,直接对接口进行抓包测试。

干货 | Swagger的多种测试方式

设置好上游代理,将流量转发到xray进行扫描。

干货 | Swagger的多种测试方式

随后xray开启监听

 .xray.exe webscan --plugins sqldet --listen 127.0.0.1:8090 --html-output 1025.html

干货 | Swagger的多种测试方式

接下来就能对该接口进行安全漏洞扫描。

干货 | Swagger的多种测试方式


原文始发于微信公众号(猎洞时刻):干货 | Swagger的多种测试方式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月25日11:44:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   干货 | Swagger的多种测试方式http://cn-sec.com/archives/2144611.html

发表评论

匿名网友 填写信息