当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-084085

漏洞标题:人人网某重要功能储存型XSS漏洞可劫持其他用户身份(二)

相关厂商:人人网

漏洞作者: px1624

提交时间:2014-11-21 12:06

修复时间:2015-01-05 12:08

公开时间:2015-01-05 12:08

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-11-21: 细节已通知厂商并且等待厂商处理中
2014-11-21: 厂商已经确认,细节仅向厂商公开
2014-12-01: 细节向核心白帽子及相关领域专家公开
2014-12-11: 细节向普通白帽子公开
2014-12-21: 细节向实习白帽子公开
2015-01-05: 细节向公众公开

简要描述:

the more rank,the better high bugs!

详细说明:

#1 对于http://wooyun.org/bugs/wooyun-2014-083670漏洞的修补不完善导致的。
之前这个漏洞是用单引号构造绕过的。然后给出的修补措施就是过滤掉单引号。然后今天去看了下,发现修补了,的确是把单引号过滤干净了。
但是开发人员明显属于指哪修哪啊,为了避免漏洞公开后被恶意利用,然后我又不得不过来再提交一次。
#2 人人网这个留言板的位置,修补后的过滤机制是这样的。
过滤了><"
这次修补后还过滤了'
还过滤了&#
#3 这里先科普个小知识,在浏览器解析代码的时候,html代码是优先于js代码解析的。
也就是说在htm标签的属性中,下面的代码可以这么写。
<img src="xxx" onclick="alert(1);alert(2)">
<img src="xxx" onclick="alert(1&#41;&#59;&#97;&#108;&#101;&#114;&#116;&#40;&#50;)">
2个代码是等效的。

0.png


#4 这时候你可能还会说那也没事啊,我们已经把&#给过滤了。
但是经过测试后,发现这里虽然过滤了&# 但是竟然没有过了&
目测是因为url中为了怕把正常功能给干掉了吧
那么问题就来了,htm编码除了&#的形式还有&的形式的啊!

000.png


#5 好了,现在开始正题,说说这里怎么利用,直接请求的时候改包,把单引号写为&apos; 然后构造语法正确的js代码即可。

1.png


看弹窗了吧。

2.png


#6 下面证明下可以调用任意外部js文件,这里的利用代码和上次基本一致,利用String.fromCharCode和eval就可以了。这里保留一个完整的图片地址,这样用户点击图片就是直接查看大图,完全没任何异样,但是其实已经中了我们XSS了。

3.png


4.png


#7 可以盗取用户cookie,人人网是一站式cookie,没httponly,有了cookie啥都可以干了!

5.png


漏洞证明:

看上面。

修复方案:

1 不能指哪修哪啊,要从本质上思考这个点的漏洞的产生原因。
2 建议修补措施:把&过滤为&amp; 这种修补措施,就是专门防御htm编码绕过的这种XSS的。
3 再来个年费vip把,为了更好的挖掘人人网的漏洞,有几个个功能是需要vip7才能测试,我现在vip6了,不过vip快到期了。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2014-11-21 13:10

厂商回复:

谢了,当时确实只过滤实体编码&#39;,谢谢

最新状态:

暂无