externalinterface
FB招聘站
分类阅读
专栏
公开课
FIT 2019
企业服务
用户服务
搜索
投稿
登录
注册
[新思路]Flash ExternalInterface函数导致的XSS 匿名用户2012-05-23共166395人围观 ,发现 2 个不明物体 WEB安全文章
我们都知道Flash的ExternalInterface.call()可以调用外部的JS函数,一般如果在flash代码中看到这个函数,而且里面的参数可以是用户可以控制的话,就会有XSS的风险,flash安全扫描工具的扫描原理也是如此,碰到这个函数还有geturl,如果里面的参数来自外部的话就认为是漏洞。
一般情况下我们ExternalInterface.call(param1,param2),我们只要在param1中设为eval,param2中附加我们的js语句就可以了,param2为param1的参数,真正执行的时候类似于这样:
param1 = eval;
param2 = alert(/XSS/);
那么结果就是eval(“alert(/XSS/)”)
悲剧的是如果param1我们不可以控制,我们只能控制param2,那还有办法XSS吗。就像到sql注入一样,这里可以联想到注入”)来闭合前面的引号后再次插入JS来X,但是这里adobe做了jsencode,我们插入的”会变成\”,所以我们又X不了了
喜剧的是老外在测试的过程中发现了一个BUG:
http://s2.kkdaili.com/0b0d97edc58e6b5.php?u=T2k4dmJHTmhiWFIxWmk1aWJHOW5jM0J2ZEM1amIyMHZNakF4TVM4d015OXZkR2hsY2kxeVpXRnpiMjR0ZEc4dFltVjNZWEpsTFc5bUxtaDBiV3c9&b=29&f=norefer
当插入\”这样的符号时,flash会在经过jsencode后既然只赚了前面的\,所以最后变成了\\”,这样我们的“又能闭合了,悲了剧啊,这种漏洞也有,想测试的搞80vul吧,黑锅正愁没流量呢
当然,这是针对param1不可控的情况下的办法,反过来,如果只有param1可控,param2不可能控的话,我们可以用function方法来执行,如下:
http://www.80vul.com/xss.swf?a=function(){alert(/xss/);alert(1)}
同理的漏洞还有:http://www.wooyun.org/bugs/wooyun-2010-07265
文/ben
匿名用户
660 篇文章
等级: 4级
||
上一篇:关于bom.php下一篇:在IPhone/IPad上建立反弹后门
发表评论已有 2 条评论
fly 2012-05-23回复 1楼
以后搞站可以上传个swf,一个xss后门诞生了。
亮了(2)
h0x 2012-05-23回复 2楼
我表示http://www.80vul.com/xss.swf?a=alert(/xss/)这样也可以直接跨
亮了(3)
昵称
请输入昵称
必须您当前尚未登录。登陆?注册邮箱
请输入邮箱地址
必须(保密)表情插图
有人回复时邮件通知我
匿名用户
这是一个神奇的马甲
660
文章数
0
评论数
最近文章
北京14岁极客发明神奇眼罩可控制梦境(视频)
2013.09.13
苹果透露更多Touch ID的安全细节
2013.09.12
针对亚马逊云服务器(AWS)的渗透测试工具——Nimbostratus
2013.09.11
浏览更多
相关阅读
科普跨站平台XSS SHELL使用方法挖洞经验 | 记一次有关参数指定型XSS的故事如何用前端防御XSS及建立XSS报警机制(三)世界第一个XSS攻击蠕虫的原理新手科普 | 通过DVWA学习XSS
特别推荐
关注我们 分享每日精选文章
活动预告
11月
FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气
已结束
10月
【16课时-连载中】挖掘CVE不是梦(系列课程2)
已结束
10月
【首节课仅需1元】挖掘CVE不是梦
已结束
9月
【已结束】自炼神兵之自动化批量刷SRC
已结束
FREEBUF免责声明协议条款关于我们加入我们广告及服务寻求报道广告合作联系我们友情链接关注我们
官方微信
新浪微博腾讯微博Twitter赞助商
Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号
css.php 正在加载中...0daybank
文章评论