演示: http://www.im286.net/?199072 注:IE6有效 (08年末加注:由于im286.net已经升级,所以地址已经失效。)
这个不是用的url(javascript:),而是用的expression。
康盛官方解释:由于CSS里执行JS不好屏蔽,所以在下个版本(应该是1.5)对用户组进行限制,就是说不是所有的人都能自定义风格。
注:如果是来找代码的,请直接看底部。
某日凌晨,在编写一个网站字符过滤模块时,注意到可以在CSS里写JS,上网搜了一下,文章很多。方法也很简单
<style type=”text/css”>
body{
background:url(javascript:alert(“xxxsss”));
}
</style>
既然CSS里能执行javascript,而现在的SNS普遍可以自定义CSS,那么不就可以通过自定义CSS实现很多特效了吗。。尤其现在大量采用的UCH。
在5GSNS做测试,通过JS调用FLASH的方式实现音乐播放。(bgsound标签只播放MID和WMV)FLASH是事先做好的一个简单文件,用来播放MP3文件
http://www.liutianyu.net/mp3play.swf?videoSource=[要播放的音乐文件地址]
比如:http://www.liutianyu.net/mp3play.swf?
videoSource=http://img.shouji.com.cn/upfiles/20080723/4685271295.mp3
然后写一段CSS
/*———————————————————————*/
background:url(javascript:document.getElementById
(“append_parent”).innerHTML=’<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-
444553540000″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/ swflash.cab#version=7,0,19,0″ width=”32″ height=”32″><param name=”movie”
value=”http://www.liutianyu.net/mp3play.swf?
videoSource=http://www.xymy.net/bzmp3/bz/爱尔兰摇篮曲.mp3″ /><param
name=”quality” value=”high” /><embed src=”http://www.liutianyu.net/mp3play.swf?
videoSource=http://www.xymy.net/bzmp3/bz/爱尔兰摇篮曲.mp3″ quality=”high”
pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-
shockwave-flash” width=”32″ height=”32″></embed></object>’);
/*———————————————————————*/
进入”主页风格”-”自定义风格”,把代码插入到BODY里,保存后看了下首页,并没
有音乐播放。反复试了几次,看代码,才发现里面一些HTML标签被替换了。仔细看了下,一共替换了3个”"”"<”">”看来UCH做了过滤,不过问题不大,我们把冒号替换成%22,把<换成%3C,把>换成%3E。代码就是这样
/*———————————————————————*/
background:url(javascript:document.getElementById(%22append_parent%
22).innerHTML=’%3Cobject classid=%22clsid:D27CDB6E-AE6D-11cf-96B8-444553540000%22 codebase=%22http://download.macromedia.com/p … flash.cab#version=7,0
,19,0%22 width=%2232%22 height=%2232%22%3E%3Cparam name=%22movie%22 value=%22http://www.liutianyu.net/mp3play … .xymy.net/bzmp3/bz/爱尔兰摇篮曲.mp3%22 /%3E%3Cparam name=%22quality%22 value=%22high%22 /%3E%3Cembed src=%22http://www.liutianyu.net/mp3play.swf?
videoSource=http://www.xymy.net/bzmp3/bz/爱尔兰摇篮曲.mp3%22 quality=%22high%22
pluginspage=%22http://www.macromedia.com/go/getflashplayer%22 type=%
22application/x-shockwave-flash%22 width=%2232%22 height=%2232%22%3E%3C/embed%
3E%3C/object%3E’);}
/*———————————————————————*/
保存后进入个人主页http://www.5gsns.com/718 ,听见了音乐,测试成功
至于这个漏洞是否严重,现在看,挂马,偷COOKIES应该是没有问题的。
把下面这段代码贴到自定义风格里,就可以加上音乐了
/*———————————————————————*/
* { word-break: break-all; word-wrap: break-word; }
body { text-align: center; background:url(javascript:document.getElementById(%22append_parent%22).innerHTML=’%3Cobject classid=%22clsid:D27CDB6E-AE6D-11cf-96B8-444553540000%22 codebase=%22http://download.macromedia.com/p … flash.cab#version=7,0,19,0%22 width=%2202%22 height=%2202%22%3E%3Cparam name=%22movie%22 value=%2222http://www.liutianyu.net/mp3play.swf?videoSource=http://www.xymy.net/bzmp3/bz/爱尔兰摇篮曲.mp3%22 /%3E%3Cparam name=%22quality%22 value=%22high%22 /%3E%3Cembed width=%220%22 height=%220%22 src=%2222http://www.liutianyu.net/mp3play.swf?videoSource=http://www.xymy.net/bzmp3/bz/爱尔兰摇篮曲.mp3%22 quality=%22high%22 pluginspage=%22http://www.macromedia.com/go/getflashplayer%22 type=%22application/x-shockwave-flash%22 width=%2232%22 height=%2232%22%3E%3C/embed%3E%3C/object%3E’);}
/*———————————————————————*/
代码中有两处 http://www.xymy.net/bzmp3/bz/爱尔兰摇篮曲.mp3 是音乐地址,可随意替换。