一次通过Fuzz API发现漏洞的旅程

文摘   2024-11-10 22:25   江苏  

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。



背景介绍

由于漏洞披露原因,暂将目标网站称为“target.com”。在对目标网站进行漏洞挖掘时,首先的一些必要动作包括:

  • 重置电子邮件获取密码尝试登录,发现是否存在一些逻辑漏洞

  • 在Burp中选择Target -> Scan -> Crawl

  • 在目标网站中,点击任何可以点击的地方

模糊测试

在点击了目标网站中所有可点击的地方后,切换至Burp开始分析所有流量,在逐一查看流量的过程中,发现了一处/api/path/data 的“PATCH”请求,并且该请求包中包含了“语言偏好设置”的参数,如下:

于是开始针对该API接口进行模糊测试:

  • Fuzz 请求方法

  • 发送无效的JSON内容

  • 更改内容类型(Content-Type)

  • Fuzz Host、Origin等

不幸的是,每次收到的响应结果都是500…

就在准备查看其它流量的时候,突然发现发送空JSON字符串{}后,居然返回了一条错误信息,真可谓“柳暗花明又一村”:

虽然也是500错误,但是错误信息却与之前有所不同。

通过对错误信息格式化后,发现包含一个带有“Bearer eyJxxxx”的授权Header,甚至还包含了请求发送到的地址,地址为“https://application.us.auth0.com/api/v2/users/auth0|652xx”

通过 Google 搜索找到 auth0 管理 API 更具体的文档:

https://auth0.com/docs/api/management/v2/users/patch-users-by-id

在文档页面中输入令牌后,会显示该令牌可用的所有权限。于是尝试获取用户数据和其它端点,例如列出用户、应用程序、更新用户等,尽管目标只是一个临时应用程序,但仍有大约 300 个用户,其中大多数是 user@company.com 电子邮件。

如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
如果你是一个长期主义者,欢迎加入我的知识星球(优先查看这个链接,里面可能还有优惠券),我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款

往期回顾

一款bp神器

ssrf绕过新思路

dom-xss精选文章

年度精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips



福利视频

笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品

https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374

技术交流

技术交流请加笔者微信:richardo1o1 (暗号:growing)


迪哥讲事
作者主页: https://github.com/richard1230
 最新文章