PHPMyWind任意用户密码重置

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

### 简要描述: PHPMyWind任意用户密码重置 ### 详细说明: phpmywind 4.6.6 在忘记密码,重置密码时,虽然后安全问题限制,但是在最后修改密码,update时,存在设计缺陷 导致可轻松重置任意用户密码。 文件member.php 在重置密码前有验证问题: ``` //找回密码 else if($a == 'quesfind') { if(!isset($_POST['uname'])) { header('location:?c=findpwd'); exit(); } //验证输入数据 if($question == '-1' or $answer == '') { header('location:?c=findpwd'); exit(); } $r = $dosql->GetOne("SELECT `question`,`answer` FROM `#@__member` WHERE `username`='$uname'"); if($r['question']==0 or !isset($r['answer'])) { ShowMsg('此账号未填写验证问题,请选择其他方式找回!','?c=findpwd'); exit(); } else { if($question != $r['question'] or $answer != $r['answer']) { ShowMsg('您填写的验证问题或答案不符!','?c=findpwd'); exit(); } } } ``` 但是在后面更新密码是又没有用到这里的验证。 ``` //设置新密码 else if($a == 'setnewpwd') { if(!isset($_POST['uname'])) { header('location:?c=findpwd'); exit(); } //初始化参数 $uname = empty($uname) ? '' : $uname; $password = empty($password) ? '' : md5(md5($password)); $repassword = empty($repassword) ? '' : md5(md5($repassword)); //验证输入数据 if($uname == '' or...

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