现象
使用手机 Chrome
访问某数码论坛时会自动跳转到奇怪的网站,而且是在帖子加载完成后才动态跳转。不稳定复现,仅在 Chrome
上偶现,Edge
无法复现,桌面浏览器无法复现。
主要涉及的两个恶意域名均注册于 5月
底:
分析过程
检查跳转网络请求的调用堆栈,发现一个名为jquery.min-4.0.2.js
的可疑文件
检查此文件,发现它并不是 jQuery
,而是一段混淆过的恶意代码,推测是用来跳转到恶意网站。可以从原链接:
https://union.macoms.la/jquery.min-4.0.2.js
或者Internet Archive
获取:
https://web.archive.org/web/20230619135241/https://union.macoms.la/jquery.min-4.0.2.js
这个 evil jQuery
是由托管在 cdn.bootcss.com
上的highlight.js
引入的
当对此 highlight.js
的请求具有特定的 Referer
和移动端 UA
时,服务器才会返回带有恶意代码的 highlight.js
,否则返回正常代码,伪装性极强。而且,这段代码执行时是否引入恶意 jQuery
的操作也具有特定条件,目前我测试时使用的链接已经无法复现。
恶意的 highlight.js
可以从这里获取到,恶意代码位于文件尾部,粗略看了一下,大概是如果浏览器不是桌面端,就在 head
部分放置一个 script
标签,应该就是引入恶意 jQuery
的方法了。下图是恶意 highlight.js
与同版本正常 highlight.js
的 diff
发出如下网络请求,可以获取到带有恶意代码的 highlight.js
,截至写作时依然有效:
curl
'https://cdn.bootcss.com/highlight.js/9.7.0/highlight.min.js'
-H
'sec-ch-ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"'
-H
'Referer: https://bbs.letitfly.me/'
-H
'sec-ch-ua-mobile: ?1'
-H
'User-Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36'
-H
'sec-ch-ua-platform: "Android"'
--compressed
总结
由于连接是 https
连接且证书正确,可以推测 Bootcss
服务器大概率已经被攻击者掌控。
建议在项目中尽快换掉 Bootcss/Bootcdn
文章来源
https:
//www.v2ex.com/t/950163
原文始发于微信公众号(刨洞技术交流):某CDN疑似被投毒!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论