大米CMS v4.9 sql注入

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: rt ### 详细说明: 看到 操作数据的save函数 ``` public function save($data='',$options=array()) { if(empty($data)) { // 没有传递数据,获取当前数据对象的值 if(!empty($this->data)) { $data = $this->data; }else{ $this->error = L('_DATA_TYPE_INVALID_'); return false; } } // 分析表达式 $options = $this->_parseOptions($options); if(!isset($options['where']) ) { // 如果存在主键数据 则自动作为更新条件 if(isset($data[$this->getPk()])) { $pk = $this->getPk(); $options['where'] = $pk.'=\''.$data[$pk].'\''; $pkValue = $data[$pk]; unset($data[$pk]); }else{ // 如果没有任何更新条件则不执行 $this->error = L('_OPERATION_WRONG_'); return false; } } return $this->db->update($data,$options); } ``` 然而,在调用时 ,基本没有对 键值进行判断是否合法。 例如 修改资料处 ``` function main(){ self::is_login(); if($_POST){ $data = array_map('strval',$_POST); $data = array_map('remove_xss',$data); $data['id'] = $_SESSION['dami_uid']; M('member')->save($data); $this->success('资料保存成功~'); }else{ $info = M('member')->where('id='.$_SESSION['dami_uid'])->find(); $this->assign('info',$info);...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息