#技术分享#Flash与XSS
Posted 京东安全应急响应中心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#技术分享#Flash与XSS相关的知识,希望对你有一定的参考价值。
本文介绍利用Flash特性的XSS(跨站脚本)攻击。根据利用特性的不同,可造成存储型或反射型XSS。下面介绍4种类型的Flash XSS利用方式。
类型1利用flash的navigateToURL(ActionScript 3.0)方法和getURL方法(ActionScript1.0,ActionScript2.0),这两个方法接受一个url作为输入并打开一个新窗口。

其中url参数支持javascript伪协议,形如javascript:code。当不受信任的输入作为url参数传入时,可导致执行攻击者定义的脚本造成XSS。这种类型的XSS通常为反射型XSS。
当flash嵌入到html页面中时,allowScriptAccess值定义flash与其包含环境如何交互。
l 当 AllowScriptAccess 为 "always" 时,SWF 文件可以与其嵌入到的HTML 页进行通信,即使该SWF 文件来自不同于HTML 页的域也可以。
l 当 AllowScriptAccess 为 "sameDomain" 时,仅当SWF 文件与其嵌入到的HTML 页来自相同的域时,该SWF 文件才能与该HTML 页进行通信。此值是 AllowScriptAccess 的默认值。
l 当 AllowScriptAccess 为 "never" 时,SWF 文件将无法与任何HTML 页进行通信。
allowScriptAccess控制flash是否可以调用外部Javascript。
当容器中allowScriptAccess设置为always时,嵌入的外部flash文件允许调用Javascript函数。攻击者可通过相应方法嵌入自己的flash文件并在其中包含恶意Javascript代码造成XSS。这种类型的XSS可以为存储型或反射型XSS。
类型3——ExternalInterface.call















在其他浏览器中:
可见函数调用的返回值被放入eval中,因此当返回值可控时,可通过eval函数造成XSS。


A.控制返回值不一定通过LSO,可使用其他方法如下URL所描述。
B.A站点调用B站点flash的回调函数需要B站点ActionScript代码中设置。
C.触发此漏洞需要:











以上是关于#技术分享#Flash与XSS的主要内容,如果未能解决你的问题,请参考以下文章