一次 XML 上传导致域名被封的经历复盘(腾讯网址安全中心是不是只剩下机器人了)
事件背景
今年二月为客户开发了一个小程序页面,其中包含用户自定义头像功能。在上传白名单中,我们误将 xml 文件当作 svg 格式放行(后端校验存在疏漏)。不过很快就发现并修复了 bug ,但忽略了这一点竟然已被灰产利用,少数 xml 文件被上传至 OSS 。
问题根源
谁也想不到,这些仅 3KB 大小的 xml 文件中竟含有一行可执行的外部 JS 恶意脚本的代码。它们静静地存储了数月,直到被某些“有缘人”访问触发(看起来访问后会跳转到其他的链接,用来隐藏入口)。
遭遇危机
八月,我们为客户上线了一个宣传页面,投放了朋友圈广告。就在投放结束当晚域名突然被腾讯网址安全中心封禁,无法在微信生态中打开。找了三四天客服,只得到回应:拦截来自手机管家,无法直接处理,给了个入口让去申诉,我们尝试了多种方法申诉,比如:
逐个清理资源文件,甚至整个文件夹,刷新 CDN 缓存,再提交申诉;
将客户资源迁移至新的 OSS ,更换解析路线,再次申诉;
甚至在夜里偷偷停止解析域名,再去填写申诉材料都无效。
能想到的所有方案都尝试了,提交的每次申诉,大约 1 小时后,都收到固定的邮件回复:网站存在恶意链接
事件影响
由于恰好发生在广告投放结束当晚,最后一波流量丢了,客户已印制的二维码物料也全部作废,承担了全部赔偿,这个项目等于白干,还丢了客户信任。
后续还有很多影响吧,一些存量客户的小程序嵌入的网页也因域名封禁无法打开,只能逐一协调迁移、更换域名。这件事已经过去半个月,一些过往案例在微信中也无法打开,我们已放弃申诉,损失惨重。
唉,每年各项业务向微信缴纳了大量的费用,却在需要解决问题的时候求助无门,没有标准文档,没有解决问题的方式,只有冷漠的机器回复。
深有同感,之前一个小程序也因为一张莫名其妙的图片,被腾讯封了,前前后后耗时一个多月,最终也只是降级到“打开网址会有风险提示”这种程度
你希望我们同情一下还是帮你喷一下腾讯呢
你说你「无意」投放了带恶意链接的 xml
姑且先不纠结为啥你们一开始会有这么个 xml,
也信了你们只是菜而不是坏
那既然你们行为确实恶劣影响,恶意脚本也实实在在让很多用户受害
那仅仅封一个域名不是很轻的惩罚了吗,
较真一点可以直接找网安调查一下你们才对。
经济损失也是你们活该
不知道哪里恶劣了,黑灰产利用漏洞拿 xml 做了跳板,我们同为受害者。
我分享经历只是让大家能注意到这个问题,避免更多人犯同样的低级错误。
尊敬的用户您好,我们非常重视您反馈的问题,并对由此给您带来的不便深表歉意。腾讯云始终致力于为客户提供稳定可靠的服务,对于您遇到的域名封禁及申诉处理问题,我们已第一时间同步内部相关团队进行核查,并将积极协助您推进解决。为确保您的问题得到更高效的处理,请您将腾讯云账号 ID 或域名信息通过([email protected]) 邮箱发送给我们,感谢您的理解与支持。
这个更多是你们开发者的问题吧。就不应该开放 svg 的上传..
类似于 XXS 的 XXE 漏洞,如果使用 svg 图片作为矢量图要多注意:
github.com/rtnthakur/CVE/blob/main/MODX/README.md
最好每个项目都独立域名, 手里最少存一个备案过得应急域名
要不某个项目被风控, 就会牵连一大片项目.
你是真的还是假的。v2 里面怎么还有官方???
尊敬的用户您好!经复核您反馈的域名因存在恶意文件触发的安全拦截现已解除。我们对申诉流程中的不好体验深表歉意,后续我们将优化审核机制,提供更清晰的处置指引。若您有任何疑问或建议,请随时通过工单系统联系我们,我们将尽快协助您解决。感谢您的反馈与信任!
这个应该是真官方 具体能不能解问题就不知道了 这个主题应该发在全球工单系统🤣
好像 xml 是其他人利用漏洞上传上去的,不是 OP 自己上传上去的,总之这么一想真的还是挺吓人的
上面的 已经反馈你们的安全拦截已被解除。 请楼主出来确认一下。
我看文中 是 OP 他们上传了一个页面,可以上传头像, 其他人上传了带恶意 js 的 svg 图片,所以导致的问题,不是 OP 投放的链接 XML
腾讯的客服是真的弱 收钱是真的会收 最近注册公司做业务 一个公司四五个认证
微信开放平台 微信服务号 微信公众号 企业微信 小程序 每个都要单独出钱年审, 垄断了没办法。
封是真没什么问题,关键是要及时解
svg 这个学习了!
小程序嵌入的网页也因域名封禁无法打开 这个最好另外弄个域名跳转,避免牵连
真够讽刺的,官方渠道全是机器人,外部私人论坛倒是有活人盯着!
连 LOL 买皮肤不到账找一圈官网都找不到客服,腾讯系不会再充钱
有一个技术细节问题,svg 我之前研究过 blog.est.im/2023/stdout-10
svg 如果放到 ,那么浏览器会禁止加载任何外部资源,脚本也禁止执行
除非你放到
LZ 你这个怎么触发的?
我猜,这个头像,没有在你们 小程序 里出的问题,而是头像资源被嵌入到别的什么页面里引起和你们无关的人访问,然后腾讯把你们域名给牵连了?
鸡蛋别放在同一个篮子里……老祖宗的智慧这一块 以后还是多研究一下支付宝小程序的好,至少有个备用方案
不过“遭遇危机”这一栏里,你们是已经把 xml 删掉了再申诉的吗,还是当时还没发现一直在申诉,后续才发觉的
大佬们好,go 语言 for 循环多层嵌套怎么用递归函数实现,小弟谷歌很久都不知道怎么实现。 func add(n int){ //n 嵌套次数,比如嵌套两次 for i:…
各位老铁,家里的网件 6400 跑了五年要不行了,想近期升级一下 家里有一台 GEN10 esxi 打底的 NAS ,所以跑着软路由。但是想要一个硬路由专心做拨号上网的工作。科…
除了传个长度参数进去还有别的办法吗? #include using namespace std; void f(int nums[]) { cout …