配置变量如何容易受到内容欺骗的影响?

时间:2014-08-01 17:22:16

标签: flash xss spoofing

我正在开展一个项目,要求我们从当前工作中删除风险领域。因此,注意力集中在我们的一些嵌入式Flash内容中配置变量的值,例如:

<object type="application/x-shockwave-flash" data="https://www.somedomain.com/videoplayer/flowplayer.swf" width="640" height="360">                     <param name="movie" value="https://www.somedomain.com/videoplayer/flowplayer.swf"/><param name="allowFullScreen" value="true"/>
<param name="wmode" value="transparent"/><param name="flashVars" value="config={'playlist':[{'url':'https://www.somedomain.com/videoplayer/videos/index.mp4','autoPlay':false}]}"/></object>

我不清楚的是用户如何做到这一点。 有人可以解释或提供一个用户如何使用value =“config = {...}?

注入内容的示例

1 个答案:

答案 0 :(得分:0)

在浏览器中,打开控制台。如果不是这种情况加载JQuery:

var scr = document.createElement('script');
scr.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js');
document.body.appendChild(scr);

使用修改后的参数重新加载flash对象:

$('[name="flashVars"]').html('
  <object type="application/x-shockwave-flash"
          data="https://www.somedomain.com/videoplayer/flowplayer.swf"
          width="640" height="360">
  <param name="movie"
         value="https://www.somedomain.com/videoplayer/flowplayer.swf"/>
  <param name="allowFullScreen value="true"/>
  <param name="wmode" value="transparent"/>
  <param name="flashVars" 
         value="config={'evil':true}"/>
  </object>
');

客户端的所有内容都可以由用户操纵,因此不要依赖它。