V2EX 09月12日
小程序安全漏洞:XML文件被利用植入恶意脚本导致域名被封禁
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

一家公司在为客户开发小程序页面时,因后端校验疏漏,允许上传了包含恶意JavaScript代码的XML文件。这些文件潜伏数月后被利用,导致公司新上线的宣传页面域名被腾讯网址安全中心封禁,无法在微信生态中使用。尽管尝试了多种申诉和清理措施,但问题未能解决,广告投放受阻,客户二维码物料作废,项目蒙受损失,并影响了其他存量客户的小程序。此事暴露了微信平台在处理安全问题上的机制不完善,给开发者带来沉重打击。

⚠️ **安全漏洞源于后端校验疏漏**:在小程序用户自定义头像功能开发中,后端校验未能正确区分文件格式,误将XML文件当作SVG格式放行,为后续的安全事件埋下隐患。这一疏漏使得本不应被允许上传的XML文件得以进入OSS存储。

🔍 **XML文件暗藏恶意JS脚本**:被上传的少数XML文件,尽管体积仅3KB,却包含一行可执行的外部JavaScript恶意脚本。这些脚本在文件被访问时被触发,用于跳转到其他链接,是一种隐蔽的攻击手段,攻击者利用此漏洞潜伏了数月。

🚫 **域名被封禁导致业务中断**:在一次重要的宣传活动期间,该公司的宣传页面域名被腾讯网址安全中心封禁,无法在微信生态中打开。经过多方申诉和资源清理,问题仍未得到解决,导致广告投放受阻,客户物料作废,项目经济损失惨重,并影响了存量客户的小程序服务。

📉 **平台机制与申诉困境**:公司在解决问题过程中,发现微信平台在处理此类安全事件时缺乏标准文档和有效的解决途径,仅收到机器回复,导致申诉无效,损失巨大,并对与平台的合作关系产生负面影响。

事件背景

今年二月为客户开发了一个小程序页面,其中包含用户自定义头像功能。在上传白名单中,我们误将 xml 文件当作 svg 格式放行(后端校验存在疏漏)。不过很快就发现并修复了 bug ,但忽略了这一点竟然已被灰产利用,少数 xml 文件被上传至 OSS 。

问题根源

谁也想不到,这些仅 3KB 大小的 xml 文件中竟含有一行可执行的外部 JS 恶意脚本的代码。它们静静地存储了数月,直到被某些“有缘人”访问触发(看起来访问后会跳转到其他的链接,用来隐藏入口)。

遭遇危机

八月,我们为客户上线了一个宣传页面,投放了朋友圈广告。就在投放结束当晚域名突然被腾讯网址安全中心封禁,无法在微信生态中打开。找了三四天客服,只得到回应:拦截来自手机管家,无法直接处理,给了个入口让去申诉,我们尝试了多种方法申诉,比如:

能想到的所有方案都尝试了,提交的每次申诉,大约 1 小时后,都收到固定的邮件回复:网站存在恶意链接

事件影响

由于恰好发生在广告投放结束当晚,最后一波流量丢了,客户已印制的二维码物料也全部作废,承担了全部赔偿,这个项目等于白干,还丢了客户信任。

后续还有很多影响吧,一些存量客户的小程序嵌入的网页也因域名封禁无法打开,只能逐一协调迁移、更换域名。这件事已经过去半个月,一些过往案例在微信中也无法打开,我们已放弃申诉,损失惨重。

唉,每年各项业务向微信缴纳了大量的费用,却在需要解决问题的时候求助无门,没有标准文档,没有解决问题的方式,只有冷漠的机器回复。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

小程序 安全漏洞 XML 恶意脚本 域名封禁 腾讯 微信 安全事件 后端校验 OSS 申诉
相关文章