代码审计某cms任意文件下载漏洞

admin 2026-04-28 06:39:59 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析了某CMS中的任意文件写入与远程代码执行漏洞。漏洞位于PicManager.php控制器,因extract函数处理用户参数不当导致后续getImg函数中download方法的变量可控。攻击者可搭建恶意远程服务器,利用file_put_contents函数将包含Webshell的文件写入目标主机。虽然标题为文件下载,但实际危害已升级为RCE。建议开发者禁用不安全的extract函数,并对文件下载与写入路径实施严格的白名单校验。 综合评分: 60 文章分类: 代码审计,漏洞分析,WEB安全,漏洞POC


cover_image

代码审计 某cms任意文件下载漏洞

原创

moonsec moonsec

moonsec

2026年4月27日 11:08 广东

在小说阅读器读本章

去阅读

免责声明:本公众号所提供的文字和信息仅供学习和研究使用,不得用于任何非法用途。我们强烈谴责任何非法活动,并严格遵守法律法规。读者应该自觉遵守法律法规,不得利用本公众号所提供的信息从事任何违法活动。本公众号不对读者的任何违法行为承担任何责任。

文件位置 app/admin/controller/PicManager.php

当提交的参数是 extract 进入getImg函数

跟进 getImg函数  创建图片类对象

调用download函数 跟进该函数  调用file_url_content内容 通过 $$filename的参数是可控的 最后通过 file_put_contents 函数将文件写入。

后面就是 new file是检测该文件是否存在 上传之后code返回=0 所以并不会删除该文件

在远程服务器上创建shell文件

<?php
file_put_contents('sb.php','<?php phpinfo();?>');
phpinfo();
?>

提交

shell.php下载该服务器上

想系统学习渗透测试?扫码报名培训课程!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:moonsec moonsec moonsec《代码审计 某cms任意文件下载漏洞》

评论:0   参与:  0