### 简要描述: sql注入漏洞 ### 详细说明: 可以直接修改 管理员密码。 问题出现在 uc.php接口中,没有正确的判断UC接口是否开启,而key又是默认的。 因为代码中自己关闭了GPC,所以会导致注入。 ``` $set= setting('member'); $set['uc_dbtablepre'] = '`'.$set['uc_dbname'].'`.'.$set['uc_dbtablepre']; $set = array_change_key_case($set, CASE_UPPER); foreach($set as $k => $v) { if(preg_match('/^UC_/',$k)) define($k,$v); } //在数据库中查出配置数据。然后设置为常量。 ``` ``` if(!defined('IN_UC')) { //好像并没有看到 设置 IN_UC常量的地方,所以条件成立 if(MAGIC_QUOTES_GPC) { $get = _stripslashes($get); //如果开启了GPC了 那么就取消转义。 } ``` 由于uc接口使用的是自己的数据库连接,我们随便找一个 function来调用即可 ``` function renameuser($get, $post) { $uid = $get['uid']; $usernameold = $get['oldusername']; $usernamenew = $get['newusername']; if(!API_RENAMEUSER) { return API_RETURN_FORBIDDEN; } $this->db->query("UPDATE #table_member SET `username`='$usernamenew' WHERE userid='$uid'"); return API_RETURN_SUCCEED; } ``` 这是一个不错的点 ,可以更新任意账号的密码,也可以注入回显。(管理员在同表内) 还有synlogin函数可以登录任意账号。 这个cms用的大网站还是非常之多的。 案例 http://www.cmstop.com/case/ ### 漏洞证明: [<img...
### 简要描述: sql注入漏洞 ### 详细说明: 可以直接修改 管理员密码。 问题出现在 uc.php接口中,没有正确的判断UC接口是否开启,而key又是默认的。 因为代码中自己关闭了GPC,所以会导致注入。 ``` $set= setting('member'); $set['uc_dbtablepre'] = '`'.$set['uc_dbname'].'`.'.$set['uc_dbtablepre']; $set = array_change_key_case($set, CASE_UPPER); foreach($set as $k => $v) { if(preg_match('/^UC_/',$k)) define($k,$v); } //在数据库中查出配置数据。然后设置为常量。 ``` ``` if(!defined('IN_UC')) { //好像并没有看到 设置 IN_UC常量的地方,所以条件成立 if(MAGIC_QUOTES_GPC) { $get = _stripslashes($get); //如果开启了GPC了 那么就取消转义。 } ``` 由于uc接口使用的是自己的数据库连接,我们随便找一个 function来调用即可 ``` function renameuser($get, $post) { $uid = $get['uid']; $usernameold = $get['oldusername']; $usernamenew = $get['newusername']; if(!API_RENAMEUSER) { return API_RETURN_FORBIDDEN; } $this->db->query("UPDATE #table_member SET `username`='$usernamenew' WHERE userid='$uid'"); return API_RETURN_SUCCEED; } ``` 这是一个不错的点 ,可以更新任意账号的密码,也可以注入回显。(管理员在同表内) 还有synlogin函数可以登录任意账号。 这个cms用的大网站还是非常之多的。 案例 http://www.cmstop.com/case/ ### 漏洞证明: [<img src="https://images.seebug.org/upload/201505/12142359f2e6e36df3b7d6d991dc89c5d7590ff3.png" alt="" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201505/12142359f2e6e36df3b7d6d991dc89c5d7590ff3.png)