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参数后追加要注入的语句
![DMP]3LAD$IROW66))KDDL%N.jpg](https://img.wooyun.laolisafe.com/upload/201509/26235504f492d518b501398817258028f1887e94.jpg)
成功执行。
其余6点原理相同,
再来说说后台的
问题函数在 lib\inc\CommonClass.php 的delFileBySavename函数
很明显,传入的savename可控即可删除任意文件,来看看引用该函数的地方
向上追踪
![}OOL_R]8%8}3I361]QM1U3F.png](https://img.wooyun.laolisafe.com/upload/201509/27000106a2f5b89b9f25322e9182e54d148b5e17.png)
即lib\sys\keke_shop_class.php 的 delServiceFiles函数,
部分代码如下:
同样没有针对$filename进行处理
再向上追踪

来看看第一处:

依然没有任何过滤,此处不证明了,虽然可以删除安装lock.毕竟是后台权限。还是比较鸡肋的,
第二处同上
最后给一个超级明显的后台注入点凑十个问题:
auth\enterprise\admin\auth_list.php
第18,19行
太明显,就不证明了。