来源:未知 时间: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