本文涉及漏洞已完成验证并上报,相关敏感信息已脱敏处理。仅供安全研究与学习交流,请勿用于非法用途。
0x01 前言
突然想起来好久没写文章了,正好最近挖众测记录一下,文章涉及内容较为常规,顺便分享一下个人的swagger接口文档的一些测试方法,当然其中的一些方法也是学习其他师傅的,顺便共享交流一下~
0x02 漏洞发现
访问系统,这里登录仅能通过微信扫码登录,直接扫码测试,一般这种登录需要老师绑定个人信息使用系统,这里扫码输入个人信息绑定:
查看登录过程请求数据包,这里已经获取了系统的凭证:
之前测试api文档,基本是使用hae正则提取所有接口去遍历,另外是借助一些其他师傅开发的工具自动化测试,比如说:
不过使用该工具测试我想分享一些个人建议,去掉除GET以外的所有请求方式,当然我也不太建议使用自动化测试,因为这样测试太过于危险,虽然已经去掉了删除编辑移除等接口以及使用GET方式请求,自认为已经比较安全的测试了,但是在某一次测试过程中,有一个接口是用来初始化系统数据库配置的,好巧不巧还是GET请求,导致初始化了数据库配置也是被平台警告了-_-
那/api-docs有没有能够可视化的测试办法呢,可以像swagger-ui.html可视化界面测试,当然是有的:
-
可以把请求获取的api文档响应包直接交给AI,生成swagger-ui的格式,完全可以,但是每碰到一个文档都用来生成也太过于麻烦了
-
省心版(其他师傅那里学来的),直接使用浏览器插件,效果如下:
请求使用了内网IP,导致burpsuite抓不到数据包,这里解决方法也比较多,可以使用burp自带的Match and replace模块替换host,或者使用MaR工具替换,但是我发现一个更好用的方法,仅分享给不知道的师傅哈~
修改返回包内的host参数值为请求api文档的域名,然后就可以开始愉快的抓包测试了,但是又出现了另外一个问题:
导致请求的接口都为404,解决方法也是跟上一个问题相同,修改返回包中的basePath值为正确的值,就可以愉快的测试了
最后也是,顺利测到一个接口可以越权导出,导致大量用户个人敏感信息泄露:
0x03 最后