i can do it 课件:百度空间中为什么预览时能看到的效果保存后却不行

来源:百度文库 编辑:高校问答 时间:2024/04/27 23:30:52
设置的几个透明flash,在预览是效果很好,为什么保存设置后去看不到效果
外部新闻之类的代码可以正常使用,加入多个flash时,效果可以预揽到,保存后去看不到效果

首先我不得不道歉,上周六早上给出了百度空间XSS漏洞的PoC代码,结果过了一个周末,到处是所谓“强制加链接教程”的转载。从百度空间吧的帖子看,有一些网友的空间已经被强制加了链接。利用这个漏洞的蠕虫也出来了。好在百度已经打了补丁,现有的PoC代码已经无法工作了。再次赞一次百度的迅速反应 :)

百度此次推出的补丁,过滤了CSS文本中的"javascript"和"expression"字符串,不过仍然有些小缺陷,还是可以绕过的。比如,把"javascript"分行来写,

#header {background:url(j

avascript:alert('script injected'))}

这样,目前的过滤模块就识别不出来了,但IE仍然可以正常解析,脚本依然会运行。

另外,自定义CSS模块还有另外一个脚本注入漏洞:系统把CSS内容显示在一个文本框(textarea)中,如果CSS文本中包含"</textarea>"字串,那么系统会把它错误的认为是textarea结束标记,而"</textarea>"以后的CSS内容则被当作HTML代码处理。比如下面的CSS定义,

#header {</textarea><script>alert('script injected');</script>

系统在显示CSS内容时,脚本将会被执行。这个漏洞的危害程度不大,因为用户自己是不会把CSS写成这个样子的,而且访问者在浏览用户页面时脚本也不会执行。但是,上文已经提到,目前的补丁还不能完全解决javascript和expression的过滤问题,所以恶意代码仍然有机会修改用户的CSS。如果CSS开头被改成下面这个样子,那么用户将无法通过百度空间系统恢复他原来的CSS,

#header {</textarea><script>window.location.href='http://hi.baidu.com';</script>

希望百度工程师再接再厉 :)
参考资料:http://hi.baidu.com/daishuo/blog/item/c651b319d812b04543a9adbf.html

百度不支持FLASH