通过分析JS源代码来发现api漏洞
2024-1-8 23:55:36 Author: mp.weixin.qq.com(查看原文) 阅读量:50 收藏

通过分析JS源代码发现api漏洞

正文

目标为target.com,范围为*.target.com,信息搜集之后,发现前端为react,发现了一个文件夹名字叫web-app,其中包含了前端的源代码!

使用了一个chrome插件来下载源代码(见文末),然后进行代码审计

首先在 JS 文件中寻找 api 接口,找到了一个名为 api 的文件夹,里面包含了大量api接口的文件

将找到的所有api接口保存在一个excel表格中,并开始逐一分析/测试它们,了解它们在应用程序中的作用。

经过大量的测试,发现了两个访问控制漏洞。

1)在target.com上的任何视频上添加和删除按钮:

target.com中有一个上传视频的功能,当我从源代码测试api接口的时候,我发现了这个接口


/v1/videos/<video_id>/cta

在源代码中,该函数如下所示:

export function updateCTA(videoId: string, ctaURL: string, ctaText: string) {
    return getResults(
        appendQuery(`${TARGET_API_URL}videos/${video_id}/cta`, {
            api_key: WEB_API_KEY,
            link: ctaURL,
            text: ctaText,
        }),
        {
            method: ctaText ? 'put' : 'delete',
        }
    )
}

除了web api密钥,这里不需要任何授权参数,因为web api密钥对所有用户都是一样的,尝试创建多个帐户,发现api密钥在所有帐户中都是一样的。

在bp中发送了一个PUT请求来测试它。

在 ${video_id} 中,添加一个视频 ID,该 ID 属于我上传的视频。

发送请求之后如下:

不知道这个请求在做什么,所以这里打开视频,在它下面发现了一个按钮,如果你点击它,它会将你重定向到一个网站。

还可以通过发出 DELETE 请求来删除它。

这意味着可以添加/删除网站上任何视频的链接,而无需任何用户交互!

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

往期回顾

2022年度精选文章

SSRF研究笔记

xss研究笔记

dom-xss精选文章

Nuclei权威指南-如何躺赚

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

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

福利视频

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

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

技术交流

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

彩蛋

回复extension可以获取插件链接


文章来源: https://mp.weixin.qq.com/s?__biz=MzIzMTIzNTM0MA==&mid=2247493274&idx=1&sn=ab53c2f11086544cc69375f7b406f493&chksm=e8a5ecf9dfd265ef0b534cb70328169f53c95cd7a6f3ebaa86cd51a3df0558f124abec7a6829&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh