目前互联网上许多网站都允许普通用户上传文件,但是很多网站在开发设计过程中由于程序员缺乏安全意识,逻辑处理方面不够严谨,导致在用户上传文件的过程中没有对所上传文件的内容进行验证,仅仅判断和验证了文件后缀名和Content-Type,而网站调用的Flash的插件程序并不关心后缀及Content-type,这样就造成了潜在的攻击者通过上传一个包含正常的Flash文件代码的内容文件,就能够被Object标签成功加载并执行,而ActionScript中又提供了多种API能够让Flash发送网络请求。
简单来说就是攻击者可以先构造一个html文件,然后将一个Flash文件修改为JPG图片格式的文件在某网站上传,上传成功后获得图片格式文件链接地址,通过之前构造的html页面,使用object包含上面的图片格式文件链接,Flash文件能够被正常的执行,当其他用户访问该页面时,该用户当前Session下的CSRF Token或被劫持,并以受害者的身份打开目标网站的任何特权页面,进行特权操作。
目前国内各知名互联网厂商,各云存储提供商均受到该问题的影响。除此之外,经过测试,一些知名的开源上传组件如UEditor,CKEditor,KindEditor,XhEditor,Ewebeditor等也均受到该问题的影响。安恒信息工程师建议广大网民最近访问重要网站如电子商务网站和邮箱系统、SNS社交网站的时候,不要同时打开其他网站,尤其是各类云盘或图库一类的网站;重要网站系统使用结束后请点击退出登录按钮而不要直接关闭窗口。
参考信息:
FreeBuf: http://www.freebuf.com/articles/web/35353.html
Detectify:http://blog.detectify.com/post/86298380233/the-pitfalls-of-allowing-file-uploads-on-your-website