### 简要描述: 过滤不严。 ### 详细说明: 在plus/ajax_user.php中 ``` elseif($act =='check_usname') { require_once(QISHI_ROOT_PATH.'include/fun_user.php'); $usname=trim($_POST['usname']); if (strcasecmp(QISHI_DBCHARSET,"utf8")!=0) { $usname=iconv("utf-8",QISHI_DBCHARSET,$usname); } $user=get_user_inusername($usname); empty($user)?exit("true"):exit("false"); } ``` 也是iconv 转gbk 就可以无视转义了。 然后跟入函数。 ``` function get_user_inusername($username) { global $db; $sql = "select * from ".table('members')." where username = '{$username}' LIMIT 1"; return $db->getone($sql); } ``` 直接带入了查询当中。 造成了注入。 这里没输出。 我就直接把这个var_dump出来 说明还是可以注入的 ``` $user=get_user_inusername($usname); var_dump ($user); ``` ### 漏洞证明: [<img src="https://images.seebug.org/upload/201403/292153203a277998a3457bab528618eb84a06163.jpg" alt="7 3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201403/292153203a277998a3457bab528618eb84a06163.jpg) 在这个文件中 类似这个的地方还有几处 我就不贴啦。
### 简要描述: 过滤不严。 ### 详细说明: 在plus/ajax_user.php中 ``` elseif($act =='check_usname') { require_once(QISHI_ROOT_PATH.'include/fun_user.php'); $usname=trim($_POST['usname']); if (strcasecmp(QISHI_DBCHARSET,"utf8")!=0) { $usname=iconv("utf-8",QISHI_DBCHARSET,$usname); } $user=get_user_inusername($usname); empty($user)?exit("true"):exit("false"); } ``` 也是iconv 转gbk 就可以无视转义了。 然后跟入函数。 ``` function get_user_inusername($username) { global $db; $sql = "select * from ".table('members')." where username = '{$username}' LIMIT 1"; return $db->getone($sql); } ``` 直接带入了查询当中。 造成了注入。 这里没输出。 我就直接把这个var_dump出来 说明还是可以注入的 ``` $user=get_user_inusername($usname); var_dump ($user); ``` ### 漏洞证明: [<img src="https://images.seebug.org/upload/201403/292153203a277998a3457bab528618eb84a06163.jpg" alt="7 3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201403/292153203a277998a3457bab528618eb84a06163.jpg) 在这个文件中 类似这个的地方还有几处 我就不贴啦。