作者:心灵
感觉这个洞没什么用,就扔出来共享下,^_^!
不是说这个漏洞鸡肋需要什么条件,而是直接改管理员密码了,等你进后台后,真正的管理员都进不到,更不知道新密码是什么了,所以才鸡肋。
经典对白,看代码……
indexsetpwdAction.php:
运行路径是:http://127.0.0.1/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);
//不解析。。。 就是加密
}
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://xx.com/admin.php/login。
文章来源于lcx.cc:【漏洞】MiceCMS 企业网站管理系统 - Exp
相关推荐: windows下php不支持pgsql的解决方法
最近在倒腾pgsql,因此需要本地安装一个pgsql。 本地是安装好了,但是phpinfo下却没有pgsql的信息,怎么办呢,折腾良久,决定上网搜索。 找到了2种解决方法: 第一种: 1:)修改php.ini。extension=php_pgsql.dll前面…
评论