本文章由团队师傅[Tai]授权发布
某次漏洞挖掘时遇到了任意用户登录漏洞,这次的漏洞案例是由于jwt存在弱密钥,攻击者可以伪造jwt,从而获取非授权访问权限。此外站点还存在弱口令,可以通过弱口令登录druid后台,查看敏感信息。
首先通过微信搜索小程序,找到目标。
点击进入小程序,点击我的-微信登录
观察数据包,可以看到服务器生成了一个jwt值
这边就直接尝试爆破该Jwt值
key ="abcdefghijklmnopqrstuvwxyz"
secret = base64.b64decode(key[:len(key) - (len(key) % 4)]) # Base64 解码密钥
之后成功遍历出所有用户的信息
在用户中发现了测试账号
尝试登录这个账户,先清空小程序缓存,重新进入小程序,点击我的,进行抓包抓包
修改返回包的jwt为测试账户的jwt
包放出去,可以看到成功登录该测试账号,存在任意用户登录漏洞
然后是druid弱口令的挖掘
目录爆破该路径,注意请求头要带上jwt,否则服务器会响应401,爆破出了/sysyem路径,如下:
https://xxxx/system/
接着就发现了druid的后台
https://xxxx/system/druid/login.html
同样,访问的时候请求头也要带上jwt
使用弱口令admin/123456登录
后面还扫出了spring一些端点的信息泄漏,但是并没有发现有价值的信息,此外还发现了swagger接口文档,由于站点敏感,没有继续对接口测试
之后又发现该域名8081端口还开了个系统,一眼看上去是若依系统
从浏览器的URL路径提取插件findsomething中找到了一些接口
拿小程序搞到的jwt,放到如下接口爆破,可以看到这个系统用户的信息,包括账号和密文的密码
GET /prod-api/system/user/getInfo HTTP/1.1
Host: xxx:8081
source-client: miniapp
tenant-id: 1001
Authorization: {{file:line(E:YakitYakityakit-projectstemptmp297600343.txt)}}
可以证明这些jwt对该系统有效,但是没有具体的密码登录,现在只能调用该系统里接口获取数据,非常不方便;于是我找到了如下接口,里面显示了该系统的初始化密码为Eedssrcpt2024!
注:数据包里jwt随便填一个有效的就行
GET/prod-api/system/config/2 HTTP/1.1
Host: xxn:8081
tenant-id: 1001
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjozNTU4LCJ1c2VyX2tleSI6IjFiMDBkNTg3LTUyOGQtNGEwMS05NDY0LTQ5YzJkY2YyY2ViZiIsImRlcHRfaWQiOm51bGwsInRlbmFudC1pZCI6MTAwMSwidXNlcm5hbWUiOiJcdTVmYWVcdTRmZTFcdTc1MjhcdTYyMzdfODY1MCJ9.89FqNollbb7u2blR3PDDnHdbs5XStPjR9l5iQXwXlsaXBU7n7YKDh8ZZQMXWbcoUlRnG1m7nIgnLoZ_ajfxH-A
于是随便找了个用户名尝试登录
使用初始密码Eedssrcpt2024!成功进入后台
到此渗透测试结束
每个初学挖洞的小白都有一个美梦:是否可以在我学习挖洞技能的时候,有位师傅手把手指导,不仅教会我各种技术,还能带着我一起接项目挣钱,让我的技能和钱包同时“升级打怪”。
还真别说,现在这个天降大饼的美梦来了!FreeBuf知识大陆帮会《安全渗透感知大家族》,正好为你提供了这样的机会。在这里,你既能学到知识,又能做项目赚钱,还能在项目实践过程中与大佬们交流思路、夯实基础。
该SRC漏洞挖掘出洞课程,是由团队内部师傅根据实际挖洞经历整合的适合挖掘漏洞但是缺乏思路、刚接触学习漏洞挖掘不出漏洞的师傅们的漏洞挖掘教程。
第一期课程价格199,这价格还要什么自行车?课程正在持续更新中~
致远A8,又称致远互联A8协同管理软件,是面向中型、大型、集团型组织(集团版OA)的数字化协同运营中台。A8版本的系统小版本较多,本次分析用的是致远A8 V7 SP1版本源码。
END
关注Code4th安全团队
了解更多安全相关内容~
原文始发于微信公众号(Code4th安全团队):一次完整的Jwt伪造漏洞实战案例
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论