来源:未知 时间:2015-04-15 13:43 作者:xxadmin 阅读:次
[导读] 骑士人才 系统 sql注入导致任意用户密码修改 wap_password.php: elseif ($act == save_password){require_once(QISHI_ROOT_PATH.include/fun_user.php);$arr[username]=$_SESSION[username];$arr[oldpassword]=trim($_POST[oldpassword])?t...
骑士人才系统 sql注入导致任意用户密码修改 wap_password.php: elseif ($act == 'save_password') { require_once(QISHI_ROOT_PATH.'include/fun_user.php'); $arr['username']=$_SESSION['username']; $arr['oldpassword']=trim($_POST['oldpassword'])?trim($_POST['oldpassword']):exit('请输入旧密码!'); $arr['password']=trim($_POST['password'])?trim($_POST['password']):exit('请输入新密码!'); if ($arr['password']!=trim($_POST['password1'])) exit('两次输入密码不相同,请重新输入!'); //edit_password()修改密码的方法 $info=edit_password($arr);
function edit_password($arr,$check=true) { global $db,$QS_pwdhash; if (!is_array($arr))return false; $user_info=get_user_inusername($arr['username']); $pwd_hash=$user_info['pwd_hash']; $password=md5(md5($arr['oldpassword']).$pwd_hash.$QS_pwdhash); if ($check) { $row = $db->getone("SELECT * FROM ".table('members')." WHERE username='{$arr['username']}' and password = '{$password}' LIMIT 1"); if(empty($row)) { return -1; } } $md5password=md5(md5($arr['password']).$pwd_hash.$QS_pwdhash); if ($db->query( "UPDATE ".table('members')." SET password = '$md5password' WHERE username='".$arr['username']."'")) return $arr['username']; write_memberslog($_SESSION['uid'],$_SESSION['utype'],1004,$_SESSION['username'],"修改了密码"); return false; }
注册完毕后 我们的意图就是更改test的密码
解决方案:加强过滤 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com