文章总结: 本文分析了某CMS中的任意文件写入与远程代码执行漏洞。漏洞位于PicManager.php控制器,因extract函数处理用户参数不当导致后续getImg函数中download方法的变量可控。攻击者可搭建恶意远程服务器,利用file_put_contents函数将包含Webshell的文件写入目标主机。虽然标题为文件下载,但实际危害已升级为RCE。建议开发者禁用不安全的extract函数,并对文件下载与写入路径实施严格的白名单校验。 综合评分: 60 文章分类: 代码审计,漏洞分析,WEB安全,漏洞POC
代码审计 某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任意文件下载漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论