网站地图    收藏   

主页 > 后端 > 网站安全 >

Flash应用安全系列[3]--WordPress反射型跨站(0day) -

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] WordPress3.5某处Flash应用存在漏洞,可能导致跨站脚本攻击。当一个已经登录后台的会话访问某一特定网页时,攻击者精心构造的payload可以在后台添加一个同等权限的用户,并写入Shell(如...

WordPress3.5某处Flash应用存在漏洞,可能导致跨站脚本攻击。
当一个已经登录后台的会话访问某一特定网页时,攻击者精心构造的payload可以在后台添加一个同等权限的用户,并写入Shell(如果权限允许的话)。
http://player.youku.com/player.php/sid/XNTAwMjY0MzQ4/v.swf

这种类型的漏洞是Google的大牛Michal Zalewski最先公开的,我这里就简单说明下。(原文 The other reason to beware ExternalInterface.call() -- http://lcamtuf.blogspot.com/2011/03/other-reason-to-beware-of.html)
 
as脚本运行flash.external.ExternalInterface.call($methodName, $parameter)时,flash player会调用HTML的js,运行
 
try { __flash__toXML($methodName("$parameter")) ; } catch (e) { "<undefined/>"; }
如果我们试着尝试在$parameter中加入" 如flash.external.ExternalInterface.call("alert",'"2'),js运行的是
 
try { __flash__toXML(alert("\"2")) ; } catch (e) { "<undefined/>"; }
flash player会对"进行转义,但搞笑的是对于传入的\,flash player却原样输出了,如此一来,我们就可以利用传入的\去转义原本用来转义"的转义符\。
flash.external.ExternalInterface.call("alert",'\\"2')
 
try { __flash__toXML(alert("\\"2")) ; } catch (e) { "<undefined/>"; }
剩下的就是闭合)}这类的事情了
 
flash.external.ExternalInterface.call("alert",'\\"2))}catch(e){alert(3)//')
try { __flash__toXML(alert("\\"2))}catch(e){alert(3)/

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论