一次有意思的js未授权访问

渗透技巧 2年前 (2022) admin
2,048 0 0


文章首发于:

火线Zone社区(https://zone.huoxian.cn/)


前言

今天分享的这个漏洞是在某项目中挖到的,当时这个漏洞点很多师傅也发现了,也在弄,只是我误打误撞先一步把数据包构造出来拿到了数据,最后拿到了赏金。所以感觉这洞的数据包构造还是有点意思的,以前也没碰到过,分享一下希望能让师傅们有些收获。


在实际挖掘当中,可以着重关注两类重要的js文件,一是配置文件,比如config/index.js,该文件可以获取一些服务器接口地址或一些配置信息;二是查看app.xxx.js文件,app.xxx.js文件是系统主文件,这类文件往往可以获取大量API接口。


如下这个案例就是app.xxx.js泄露了大量的api,导致了未授权访问漏洞,细节如下:


1.打开某网站,直接F12大法走一波,发现有如下3个js文件:


一次有意思的js未授权访问


2.看到app.xxx.js,直接拼接到网站地址后面,发现存在大量API接口:


一次有意思的js未授权访问


3.选择其中一个api进行构造,比如:
https://xxx.xxx.xxx.xxx/api/classroom/listBySchoolCode?schoolCode=11111,然后进行访问。网页回显如下,显示缺失T信息:


一次有意思的js未授权访问


4.什么是T信息?懵逼,完全不知道是啥玩意,去群里问了一圈大表哥们,表示都不知道。


那怎么办呀,谷歌百度都翻遍了,还是不知道是啥。就在快放弃的时候,发现网站的登录包中有这么一个字段:


一次有意思的js未授权访问


5.灵光一现,难道缺少T信息就是因为数据包中缺少这个字段?


打开谷歌的插件HackBar,进行如下构造:


一次有意思的js未授权访问


6.构造完毕后直接提交,Bingo!


从下图中看到,在请求体中增加了Lc-Terminal字段后,回显就成功了,不再是显示缺少T信息,由此说明猜测是正确的(挖洞总是这么神奇,总是在快放弃的时候来点鸡血让你继续):


一次有意思的js未授权访问


7.那么接下来只要搞定schoolCode参数,就可以获取到数据了。


这类参数一般可以有两个思路去获取:一是掏出百万大字典,直接跑;二是在网站的其他功能点,点点点,然后抓包,查看数据包中是否会有这个参数出现。


我这里就是直接在其他数据包中找到的,所以拼接上去,数据就出来了,如下(此处非敏感信息,只是为了让师傅们看的清楚,举例所用):


一次有意思的js未授权访问


总结:


在以往挖掘js未授权的过程中,在获取到api接口后,更多都是直接拼接进行访问。


但是比如这次这个漏洞,直接访问是会缺少一些参数的,而且缺少的参数也没有回显,不知道缺什么,最后导致的结果就是数据包构造不出来,获取不到数据,一个高危洞可能就只能当个低危交了。


所以有的时候还是需要多翻翻,说不准惊喜就在下一个数据包中。


分享就到这里了,希望师傅们能顺手点个赞,也不枉这么费劲的码字了,么么哒~



【火线—白帽技术交流群】

进群可以与技术大佬互相交流

进群有机会免费领取节假日礼品

进群可以免费观看技术分享直播

进群方式如下2种

⬇️

一次有意思的js未授权访问

识别二维码直接进群

一次有意思的js未授权访问

回复【交流群】进群


【火线zone社区周激励】

2021.12.27 ~ 2022.1.3公告

一次有意思的js未授权访问


【相关精选文章】

一次有意思的js未授权访问

一次有意思的js未授权访问


一次有意思的js未授权访问


火线Zone是[火线安全平台]运营的封闭式实战安全攻防社区,研究讨论实战攻防技术,平台向顶尖的白帽子提供安全测试的云端基础设施,目前火线的高级白帽子数量已经近万人,欢迎具备分享和探索精神的白帽子加入火线Zone社区,共建一个有技术氛围的优质社区!
如需转载火线Zone公众号内的文章请联系火线小助手:hxanquan(微信)
一次有意思的js未授权访问

 微信号 

huoxian_zone

一次有意思的js未授权访问

点击阅读原文,加入社区,共建一个有技术氛围的优质社区!

原文始发于微信公众号(火线Zone):一次有意思的js未授权访问

版权声明:admin 发表于 2022年1月4日 上午10:00。
转载请注明:一次有意思的js未授权访问 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...