联系官方销售客服

1835022288

028-61286886

POSCMS 版主:论坛审计组
diyposcmsmodelmember.php的596行的
类型:POSCMS 更新时间:2019-07-05 06:53:19 php

diy/poscms/model/member.php的596行的 public function login($username, $password, $expire, $back = 0, $is_uid = 0)好像是有个漏洞,但接入UCSSO_API时候。如果这个用户名在本地有,在UCSSO没有的时候,不校验本地密码就用当前的密码往UCSSO注册了。这样就导致,一个账号如果在一个系统有的(没同步过去UCSSO),用随意密码就可以登陆,并在UCSSO中用这个密码登陆。


 !$data && $data = dr_vip_login($this->db, $username);

                    if ($data) {

                        //如果本地库有,我们就同步到服务器去

                        $rt = ucsso_register($username, $password, $data['email'], $data['phone']);

                        if (!$rt) {

                            return -404; # 网络异常

                        }

                        //var_dump($rt);exit;

                        if ($rt['code']) {

                            // 注册成功了

                            // 上报uid

                            $rt2 = ucsso_syncuid($rt['code'], $data['uid']);

                            if (!$rt2['code']) {

                                return -5; #同步uid失败

                            }

                            $synlogin.= ucsso_synlogin($data['uid']);

                        } else {

                            return 0;

                        }

                    }


请官方看看是否有这个问题。在这之前没有校验本地的密码是否匹配。