2014-05-09:细节已通知厂商并且等待厂商处理中
2014-05-12:厂商已经确认,细节仅向厂商公开
2014-05-22:细节向核心白帽子及相关领域专家公开
2014-06-01:细节向普通白帽子公开
2014-06-11:细节向实习白帽子公开
2014-06-23:细节向公众公开
天津航空网站重置密码存在设计漏洞,只要知道用户名,就可以重置用户密码,登录之后可以对查看订单信息,导致信息泄露。
PS:该航空公司已经出现信息泄漏导致的诈骗案例!
1、进入找回密码页面
2、输入任意用户名,例如123,点击下一步
3、这里要回答验证问题,可是网站并没有在服务器端验证输入,而是直接使用了如下代码
function secondStep() {
var input = document.getElementById("answer").value;
if (input == "") {
jqalert("请输入密码保护问题答案");
} else if (input == seanswer) {
changeTable("3");
} else {
jqalert("您输入的密码保护问题答案不正确");
}
}
3、也就是说,这一步完全形同虚设,seanswer这个全局变量直接存储了验证问题的答案。
4、进一步分析页面,发现重置密码是通过如下代码实现的:
function resetPwd() {
var url = '/frontend/users/modifyinfo/GetUser!resetPwd.action';
var params = {newPwd: document.getElementById('pwd1').value, userId: userId};
jQuery.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: params,
async: false,
success: processResetPwd
});
}
5、也就是说,可以不进行任何验证,直接重置用户密码。
6、骗子们显然已经开始利用这样的漏洞了吧。
漏洞证明:
登录成功
修复方案:
密保问题的验证需要在服务器端进行。
版权声明:转载请注明来源 gongshw@乌云 漏洞回应 厂商回应:危害等级:中
漏洞Rank:7
确认时间:2014-05-12 18:05
厂商回复:CNVD已确认所述情况,通过公开联系渠道向网站管理方天津航空有限责任公司通报处置。
最新状态:暂无