知识学堂
  • ·联系电话:+86.023-75585550
  • ·联系传真:+86.023-75585550
  • ·24小时手机:13896886023
  • ·QQ 咨 询:361652718 513960520
当前位置 > 首页 > 知识学堂 > 常见技术问题
WordPress反射型XSS
更新时间:2012-05-20 | 发布人:本站 | 点击率:421
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的网志。也可以把WordPress 当作一个内容管理系统(CMS)来使用。近日,国外安全研究人员公布,WordPress在部分功能实现上采用了不安全的第三方组件,导致XSS漏洞,当攻击者诱骗管理员点击,攻击成功可以直接GETSHELL。
详细说明:
 
原文:https://nealpoole.com/blog/2012/05/xss-and-csrf-via-swf-applets-swfupload-plupload/
 
对wp-includes/js/swfupload/swfupload.swf进行反编译分析,尽管swfupload.swf其对传入ExternalInterface.call的第二个参数进行了安全编码,但对于函数名,即ExternalInterface.call的第一个参数没有进行安全编码。www.2cto.com 而函数名中的部分字符可控,造成xss漏洞。
 
this.movieName = root.loaderInfo.parameters.movieName;
...
this.flashReady_Callback = "SWFUpload.instances[\"" + this.movieName + "\"].flashReady";
...
if (ExternalCall.Bool(this.testExternalInterface_Callback)){
    ExternalCall.Simple(this.flashReady_Callback);
    this.hasCalledFlashReady = true;
}
 
=================
class ExternalCall extends Object{
...
        public static function Simple(param1:String) : void
        {
            ExternalInterface.call(param1);
            return;
        }
漏洞证明:
 
http://www.80sec.com/wp-includes/js/swfupload/swfupload.swf?movieName="])}catch(e){if(!window.x){window.x=1;alert(/xss/)}}//
修复方案:
 
暂时删除swfupload.swf,等待官方更新。
分享到: QQ空间 新浪微博 开心网 人人网