扫码领资料
获网安教程
本文由掌控安全学院 - syst1m 投稿
来Track安全社区投稿~
千元稿费!还有保底奖励~(https://bbs.zkaq.cn)
前言:
本文涉及的相关漏洞均已修复、本文中技术和方法仅用于教育目的;文中讨论的所有案例和技术均旨在帮助读者更好地理解相关安全问题,并采取适当的防护措施来保护自身系统免受攻击。
正片开始:
正在公司躺平的我,突然收到了一份神秘任务,甲方爸爸安排活了,开整!!
给了一个登录框,说打不下来就让卷铺盖滚蛋。。。。。。。
js 中的奇妙发现:
hae 爆红,一眼看到jwt:(爽!!!)
好消息,有 jwt 了,还没过期,过期时间为今年4月27。
尝试爆破,无果
这里找到了一个腾讯云的key,但是过期了。
验证 jwt 是否有效:
接下来就验证该token是否有效,那么直接调用接口即可:
这个站有点奇怪,他会把请求参数放到请求头中(如图中参数设置为了undefined),即不需要我们看js相关的请求头参数:(感谢开发哥哥!!!)
将刚才找到的jwt放到Authorization和token中:
eyJhbGcxxx
把**findsomething**
的接口丢过来,或者自己写一个 python 脚本去提取一下 js 中的路径。
这里使用 **findsomthing**
, 有个小技巧:将./
全局替换成/
可以看到原始的路径上带上了v1,v2,因此可以对一下的路径进行fuzz
/xx/api/v1/xxx/api/v2/xxx
使用post,存在一个接口成功返回了数据,证明这个token是合法的。
继续深入:
得知这个token是合法的,那么我们要看前端是怎么set这个token的,如果我们set了之后直接访问后台路径,那么就可以绕过登录了:
点击登录,查看堆栈:
找到堆栈找到登录接口,查看到对应的登录逻辑:
将**umsToken**
丢进去:
发现不太行,还是返回到了登录页,那怎么办呢?
全局搜**umsToken**
找到了其他的接口对应的参数:
大概懂了,他本地读取了**auth**
和**umsToken**
,并且jwt要带上Bearer
全局搜**auth**
:
找到了这个**auth**
为admin
或者为vixxx
访问user成功登录:
拿下:
妈妈再也不用担心我睡大街了。
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
原文始发于微信公众号(掌控安全EDU):挖洞日记 | Js中的奇妙旅行
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论