SWFupload 2.2.x的XSS漏洞及解决方案

SWFUpload 是一款优秀的 Flash 上传控件,它可以非常好的增强 Web 端程序的用户上传体验。SWFUpload 自由灵活的 JavaScript 接口允许开发者自定义包括 HTML/CSS 在内的几乎所有 UI 样式,被广泛运用在大量站点的上传模块中,如 Youtube 和 WordPress 。

近日,有安全人士爆出 SWFUpload v2.2.x 的XSS 漏洞,此漏洞可能导致严重的类 XSS 安全隐患。由于官方开发近乎停滞,故我们建议在正式项目中使用了此组件的开发者通过如下方式解决本安全隐患(二选一):

1)将 SWFUpload 替换成其他安全的上传组件,如 jQuery File Upload 和游子自行开发的图片上传组件。
2)点击此处下载修正、编译后后的 swfupload.swf 文件,然后替换掉目前你在项目中使用的 swfupload.swf 文件。

修正代码的改动只有一行,就是将危险字符进行简单过滤:

https://gist.github.com/4256196

修正后的完整项目代码,请前往游子 Github 项目查看