漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0143678
漏洞标题:KPPW最新版一处函数七处注入附送后台任意文件删除两枚加注入一枚
相关厂商:keke.com
漏洞作者: 路人甲
提交时间:2015-10-19 12:56
修复时间:2016-01-19 09:30
公开时间:2016-01-19 09:30
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-10-19: 细节已通知厂商并且等待厂商处理中
2015-10-21: 厂商已经确认,细节仅向厂商公开
2015-10-24: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航)
2015-12-15: 细节向核心白帽子及相关领域专家公开
2015-12-25: 细节向普通白帽子公开
2016-01-04: 细节向实习白帽子公开
2016-01-19: 细节向公众公开
简要描述:
SQL.
详细说明:
问题出现在 \lib\sys\keke_shop_release_class.php 的save_service_obj函数中
部分代码如下
此处fileIdStr无单引号保护。
往上看
依次经过
$fileIdArr = explode('|', $_POST ['fileid1']);
$fileIdStr = implode(',', $fileIdArr);
得到fileIdStr
此处只进行了简单的数组判断和提取
传入参数
则$fileIdArr = ('1) and if(((ascii(substring(user(),1,1)))=114),sleep(10),1);#','')
$fileIdStr = '1) and if(((ascii(substring(user(),1,1)))=114),sleep(10),1);#'
最后拼接的sql即为
成功带入查询延时注入
看看哪几个地方引用了它:
拿第一个做证明
shop\goods\control\pub.php
即发布商品,首先登陆,
随便填写信息,提交抓包
直接在fileid1参数后追加要注入的语句
成功执行。
其余6点原理相同,
再来说说后台的
问题函数在 lib\inc\CommonClass.php 的delFileBySavename函数
很明显,传入的savename可控即可删除任意文件,来看看引用该函数的地方
向上追踪
即lib\sys\keke_shop_class.php 的 delServiceFiles函数,
部分代码如下:
同样没有针对$filename进行处理
再向上追踪
来看看第一处:
依然没有任何过滤,此处不证明了,虽然可以删除安装lock.毕竟是后台权限。还是比较鸡肋的,
第二处同上
最后给一个超级明显的后台注入点凑十个问题:
auth\enterprise\admin\auth_list.php
第18,19行
太明显,就不证明了。
漏洞证明:
如上。
修复方案:
同在武汉,求请吃饭。
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2015-10-21 09:30
厂商回复:
已处理。
最新状态:
暂无