一名Reddit用户发现一种攻击4chan网站基础架构的隐蔽方法:使用托管在Imgur上的图片经由Reddit发动攻击。
用户名为rt4nyp的Reddit用户发现了这个漏洞:每次一张Imgur图片被加载到/r/4chan sub-reddit上,就会有其它500多张图片也在后台加载。
由于4chan网站的流量巨大,从Reddit上获取一定的额外流量会让4chan的服务器不堪重负,导致网站一天内崩溃好几次。另外,8chan网站也受影响,而且也遭受一定次数的停机。
恶意代码连同Imgur图像一起加载
rt4ny告警称,当他注意到Imgur图片以内联base64数据形式被加载时,少了一些东西。他仔细查看代码时发现末尾增加了一小段毫无关联 的JS代码。这段代码秘密地存储在了浏览器localStorage的 “axni”参数中,目的是为了从“4cdns.org/pm.js.”中加载另外一个JS文件。它并非4chan的官方CDN,却极其相似。当刷新加载 了“axni”变量的原始图片时,这个恶意代码不会再次加载以躲避检测。此外,存储在"4cdns.org/pm.js"上的JS文件也不会在浏览器中直 接加载。
在隐藏的iframe中加载500多张 4chan图片
对pm.js文件分析后,rt4ny发现它利用一些狡猾的CSS离屏定位技术加载了不为用户所知的iframe,里面加载了数百份4chan图片,还有一份142KB大小的SWF文件。
Imgur在当天知悉这个问题后予以修复。

