JS未授权访问的趣味经历

在项目挖掘中偶然发现的一个漏洞,涉及到某网站的js文件,尤其关注了配置文件和主文件。主要关注两种类型的js文件,一是配置文件,如config/index.js,用于获取服务器接口地址和配置信息;二是主文件,如app.xxx.js,通常包含系统的主要功能和大量API接口。

在本次案例中,我发现了app.xxx.js文件泄露了大量API接口,导致了未授权访问漏洞,以下是详细的过程:

打开目标网站,使用浏览器F12开发者工具,发现3个js文件。

图片[1]-JS未授权访问的趣味经历-山海云端论坛

检查到app.xxx.js文件后,将其拼接到网站地址后面,发现其中包含大量API接口。

图片[2]-JS未授权访问的趣味经历-山海云端论坛

针对一个API接口进行构造,例如:https://xxx.xxx.xxx.xxx/api/classroom/listBySchoolCode?schoolCode=11111,然后进行访问。网页回显显示缺失T信息。

图片[3]-JS未授权访问的趣味经历-山海云端论坛

发现登录包中有一个Lc-Terminal字段,不清楚是什么信息。尝试在数据包中构造该字段,发现回显成功。

考虑Lc-Terminal字段的影响,构造并提交请求,成功获取到数据。

进一步检查数据包,发现schoolCode参数缺失,决定构造该参数。选择在其他功能点抓包,查看数据包中是否包含该参数。

在其他数据包中找到schoolCode参数,拼接到请求中,成功获取到数据。

总结:

在挖掘js未授权漏洞时,通常是直接拼接API接口进行访问。然而,在某些情况下,直接访问会导致参数缺失,而缺少的参数也没有回显。解决方法是观察数据包,查找缺失的参数,尝试构造并提交请求。在这次挖掘中,数据包的构造过程中涉及到了Lc-Terminal字段和schoolCode参数,通过细致的观察和构造,最终成功获取到敏感信息。这个案例提醒我们在挖掘漏洞时,有时需要多方面思考,而惊喜可能就藏在下一个数据包中。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容