在html插入一段flash时,由外部传入一个生成后的回调
xxx.swf?init=js.init
flash里面这样写
var HANDLE_INIT:String = getFlashVar('init');
......
public static function handleInit(arg:*=null):void
{
ExternalInterface.call(HANDLE_INIT, arg);
}
flash生成后调用 handleInit
这时,如果传入的是
xxx.swf?init=alert(1)
便会弹出消息框,显示1,看,被XSS了。
所以flash调用外部js时,最好是调用固定的函数名。不要外部传。
另外,flash不用插入到html里,可以直接在 浏览器 里打开,所以不能说可以保证传入的数据会是正确
如:别人直接写了一个链接 http://www.2cto.com /xxx.swf?init=alert(1) ,给用户,也会xss的
查看更多关于flash给用户传入执行函数的安全问题 - 网站安全的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did14454