不是说这个漏洞鸡肋需要什么条件 而是直接改管理员密码了 等你进后台后真正的管理员都进不到更不知道新密码是什么了 所以才鸡肋
经典对白 看代码!..........
index\setpwdAction.php
运行路径是http://www.7747.net/index.php/setpwd 呵呵 看上去有点奇特哦
class setpwdAction extends security_normal {
function action(){
$loginname=$this->_getParamId(1);
$forgetpwd=$this->_getParamId(2);
global $conn;
if($_POST['user_id']){ //-0-! 居然不是获取Session里的而是自己定义...漏洞所在
$user=new model_User(); //连接数据库
$user->setSubsection('WHERE user_id='.$_POST['user_id']); //查询会员ID 注意 是ID 不是name 默认管理员的ID 绝对是1
$results=$user->doSelectOne();
$password1=$_POST['pwd1']; //密码
$password2=$_POST['pwd2']; //确认密码
$pwd='';
if($password1==$password2 and strlen($password1)>4)
{
$salt = md5(rand(100000, 999999).$_POST['loginname']);
//这个数值用作多重加密密码 不错的加密思路 同时写在USER表里
$pwd=sha1($salt.$password1);
//不解析,
micecms一个鸡肋漏洞及修复 附EXP漏洞预警
。。。 就是加密
}
if($results) //不解析
{
if(strlen($pwd)>0){ //没理由你打算空密码把?
$user->setSalt($salt);
$user->setPassword($pwd);
}
$user->setForgetpwd('');
$results=$user->doUpdate();
//写进去了...
if($results)
$exeresult='密码修改成功,请使用新密码登录网站';
else
$exeresult='验证错误,请联系网站管理员!';
//以下代码可以忽略
分析完毕 admin和会员同放在USER表里 所以这里直接修改了
后台登录地址http://www.7747.net/admin.php/login
EXP:
作者:心灵
修复:看代码自己改吧