FoxCMS最新版本漏洞挖掘分析
1315609050541697 技术文章 96浏览 · 8天前

FoxCMS

FoxCMS是一套可免费商用开源的内容管理系统,采用PHP+MySQL架构。内置企业常用的内容模型,如单页、文章、产品、图集、视频、反馈、下载等,并配备丰富的模板标签及强大的SEO和伪静态优化机制。无需复杂编程技能,仅需掌握HTML即可快速构建出多元化的应用场景,实现内容的高效管理。



源码地址:https://gitee.com/qianfox/foxcms#

b9c002d4b29ddbfa0714c531235f6315.png


代码注入漏洞

FoxCMS最新版本v1.2.5网站设置功能存在代码拼接导致的命令执行漏洞攻击者可以利用该漏洞代码拼接反弹shell拿到服务器权限。

调试分析

漏洞在控制器文件appadmincontrollerConfig.php



我们重点关注漏洞save()函数

最后调用函数set_php_arr将变量值拼接写入php文件

调试找到写入的php文件路径以及变量saveData的值,并且数组param中的值都是传参可控的,我们可以通过拼接进php文件来RCE

a30732f4bc08385fe8cdcd026a32daf8.png
因为首页index.php包含了configcfgase.php,所以代码会被执行
ba45acf63ae6a30590f7b09e65e14755.png


漏洞攻击

进入站点基本设置直接点击保存抓包
7b0b937fcdc7a6d36c3fec20eb228363.png
修改参数copyright_remove_mark为poc:

8ab9c048b700897f3898a9a1f4cf26e4.png


之后访问首页index.php发现页面很多地方已经被渲染为命令执行的结果,除了回显之外,攻击者还能利用此漏洞直接反弹shell拿到服务器权限
f5135ddb192ae00e6451da4b3c18d835.png




SSRF漏洞



FoxCMS最新版本v1.2.5远程图片下载功能存在SSRF漏洞,可以使用file伪协议读取内网和服务器任意文件内容。并且攻击者可以利用该漏洞扫描本地和内网端口,攻击本地和内网服务。



调试分析

漏洞在控制器文件appadmincontrollerPicManager.php





主要漏洞在于调用了getImg方法

getImg中调用了download方法 之后调用upload方法

download中 url是传参完全可控的,会调用get_url_content方法 download中的filename是通过url请求的文件获取的没有任何过滤,所以可以下载php文件,并且直接调用了file_put_contents导致php文件写入,并且默认写入路径为uploads/date("Ymd")/

get_url_content方法中直接调用了curl请求url会造成ssrf漏洞

但是之后upload的时候会有waf检查文件后缀是否在白名单,不在的话就会返回code=0 绕过了unlink的删除
94be0872e3b7786c8bcd6f0011ed8567.png


漏洞攻击过程

我们在本地开启一个模拟内网的web服务

并放置一个2.php文件调用calc

然后在公司简介添加图片->选择网络图提取 构造poc:

743fc12203b539eac09b60c5d4ec43bd.png
查看内网web服务成功收到请求,并且2.php被运行弹出了计算器:成功SSRF攻击
e911debcb86b99b55e587993eff870e3.png


此漏洞还会将SSRF获取到的文件内容写入uploads/date("Ymd")/目录下,可以用伪协议读取内网以及系统任意文件

在公司简介添加图片->选择网络图提取 我们抓包,构造伪协议poc SSRF读取文件

806869dfdb12fe85da6a4defd859fa85.png
之后我们查看上传路径成功拿到文件内容

6d0404501998122090086f4ed0f084ec.png




FOXCMS 文件上传漏洞说明

最新版本的 FoxCMS v1.2.5 存在文件上传漏洞,在网站上传图片功能,这些漏洞是由于输入验证和清理不足而发生的,攻击者可以利用此漏洞注入任意JS 代码,然后在其他用户浏览时执行。

FoxCMS是一套可免费商用开源的内容管理系统,采用PHP+MySQL架构。内置企业常用的内容模型,如单页、文章、产品、图集、视频、反馈、下载等,并配备丰富的模板标签及强大的SEO和伪静态优化机制。无需复杂编程技能,仅需掌握HTML即可快速构建出多元化的应用场景,实现内容的高效管理。系统支持多语言、表单设计、访客统计、消息通知、云存储服务等



白盒审计

漏洞主要代码在文件:

97040ef60ae9086b07b9291b94a09a7a.png
调用了upload跟踪进入

并且会对后缀检查,跟踪进入validationSuffix函数 发现为白名单后缀检测,允许上传svg文件之后也没检查文件内容即可上传成功
e4ff930aca74967d7010b8c0a2b25eb3.png


漏洞攻击

制作svg文件如下,插入XSS代码

或者

登录后台
25d048d05651d5a59e12700fdee0cd48.png
选择添加图片上传svg文件即可
71cc681ebde005604f852cf680fe2168.png


抓包得到完整http包:

df20a1b51f26954725a4a6c3fd464df4.png
访问文件时候会成功触发XSS

f38c000204d51ce7e5bbb24236064a9e.png


0 条评论
某人
表情
可输入字

没有评论