漏洞文件发生在phpcms\modules\member\index.php中392行
public function account_manage_info() { // account_manage_info方法,就是更新个人资料 if(isset($_POST['dosubmit'])) { //更新用户昵称 $nickname = isset($_POST['nickname']) && trim($_POST['nickname']) ? trim($_POST['nickname']) : ''; //存在真名名字就去掉2边空格 if($nickname) { $this->db->update(array('nickname'=>$nickname), array('userid'=>$this->memberinfo['userid'])); //存在$nickname这个变量就更新真实名字,漏洞发生在此处 if(!isset($cookietime)) { $get_cookietime = param::get_cookie('cookietime'); } // 取出cookietime $_cookietime = $cookietime ? intval($cookietime) : ($get_cookietime ? $get_cookietime : 0); $cookietime = $_cookietime ? TIME + $_cookietime : 0; param::set_cookie('_nickname', $nickname, $cookietime);//这里设置cookie }
………………….//省略若干无关代码 我们注册用户,然后修改个人信息 http://127.0.0.1/index.php?m=member&c=index&a=account_manage_info&t=1 我们更新测试下,将带有’ (单引号的名字)带入 数据库试试 public function login() { $this->_session_start(); //…..省略若干代码 param::set_cookie('auth', $phpcms_auth, $cookietime); param::set_cookie('_userid', $userid, $cookietime); param::set_cookie('_username', $username, $cookietime); param::set_cookie('_groupid', $groupid, $cookietime); param::set_cookie('_nickname', $nickname, $cookietime);
//…..省略若干代码 这里我们发现已经重新设置nickname的cookie了,而这里的$nickname也是从数据库里面取出来的。 我们看phpcms\modules\comment\index.php中的post方法 |
-
上一篇: 腾讯视频主站分享至微信xss一枚,可cookie哦!
下一篇: 清竹虚拟主机管理系统sql注入 + 后台构造cookie登
还没有人抢沙发呢~