Swagger介绍文章地址
目录
postman
导入Swagger Api
设置Environment
代理设置
批量自动化测试
结合xray
文章引用:>https://www.yii666.com/blog/58375.html
swagger介绍
Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。
在平时渗透测试的的时候,经常会发现Swagger ui(swagger-ui是将api接口进行可视化展示的工具)接口泄露,如下,在这个页面中暴露了目标站点中所有的接口信息,所以可以对这个接口进行漏洞测试,看是否存在未授权访问、sql注入、文件上传等漏洞。由于接口太多,一个个接口测试的话太费时间,所以出了这篇自动化接口漏洞测试文章
利用思路:
- 将Swagger ui中所有的接口导入到postman
- postman设置代理,将流量转发给burpsuite,方便观察发包情况
- 对导入的所有api自动运行测试,让postman自动对每个api进行请求
- burpsuite挂上xray,进行漏洞检测
postman
postman是一个api接口自动化测试工具,下载:Download Postman | Get Started for Free
导入Swagger Api
1、访问Swagger ui,箭头中的就是api接口地址,将其复制
与域名拼接后访问一下,将整个地址复制“https://xx.com/cdy-api-mng/v2/api-docs”
1、打开postman
点击“import”,在Link下填上刚才复制的api地址,点击继续
然后点击import,进行导入
导入成功后,可在apis中查看刚才导入的整个Swagger api接口
设置Environment
Environment即环境变量,随便点击一个地址过去看一下,这里的baseurl是一个变量,postman对所有api的请求的格式都是“http://ip/详细地址”,http://ip为变量,需要设置值。把鼠标放在baseUrl处,会显示其值,将其地址记住
点击如下Add,添加“active Environment”
填写如下,设置变量名为test。其值设置为“https://xx.xx.com/cdy-api-mng/”
然后选择刚刚设置的环境"test"
此时再点击就能看到我们设置的环境
最后可以尝试进行发包测试了
代理设置
给postman设置一个代理,代理地址为burp的监听地址。这样burpsuite就能接收来自postman的数据包
接收到http数据,则说明代理成功
批量自动化测试
api接口地址众多,如果一个个接口点击进行测试,效率太过于低下。所以需要批量自动进行测试
定位到第一行,点击“Test and Automation”
点击“run”
继续点击
postman会自动对所有的api进行发包测试,此时在burpsuite中可以查看到具体的数据包
结合xray
为了最大程度实现自动化漏洞挖掘,我们可以同时把流量转发给xray进行漏洞探测。burp配置代理,将流量转发给xray
xray开启监听,接收来自burp的流量
开始自动化对所有api接口进行扫描