[T00ls]DEDECMS 0DAY

简介:

无聊之中想出来的0DAY (反正最后能拿下WEBSHELL都叫0DAY把)
但前提要求条件比较苛刻 看完就明白
经典对白 看代码

member\index_do.php 

else if($fmdo=='login')

//   [url]http://127.0.0.1/member/index_do.php?fmdo=login&dopost=login[/url]
就来到这步了
{
        //用户登录
        if($dopost=="login")
        {
                if(!isset($vdcode))
                {
                        $vdcode = '';
                }
                $svali = GetCkVdValue();
                if(preg_match("/2/",$safe_gdopen)){
                        if(strtolower($vdcode)!=$svali || $svali=='')
                        {
                                ResetVdValue();
                                ShowMsg('验证码错误!', '-1');
                                exit();
                        }
                        
                }
                if(CheckUserID($userid,'',false)!='ok')
                {
                        ShowMsg("你输入的用户名 {$userid} 不合法!","-1");
                        exit();
                }
                if($pwd=='')
                {
                        ShowMsg("密码不能为空!","-1",0,2000);
                        exit();
                }
 
                //检查帐号
                $rs = $cfg_ml->CheckUser($userid,$pwd);                
                 //检测用户名密码  这里不会出现提示错误  因为还要运行下面代码
                #api{{
                if(defined('UC_API') && @include_once DEDEROOT.'/uc_client/client.php')
                {
                    //苛刻条件之一  已经整合DZ 并安装了UCCLIENT这个插件
                        //检查帐号
                        list($uid, $username, $password, $email) = uc_user_login($userid, $pwd);
//登录DEDECMS的同时也登录DZ
                        if($uid > 0) {
                                $password = md5($password);
                                //当UC存在用户,而CMS不存在时,就注册一个        
                                if(!$rs) {   //如果DEDECMS登录不成功
                                        //会员的默认金币
                                        $row = $dsql->GetOne("SELECT `money`,`scores` FROM `#@__arcrank` WHERE `rank`='10' ");
                                        $scores = is_array($row) ? $row['scores'] : 0;
                                        $money = is_array($row) ? $row['money'] : 0;
                                        $logintime = $jointime = time();
                                        $loginip = $joinip = GetIP();
                                        $res = $dsql->ExecuteNoneQuery("INSERT INTO #@__member SET `mtype`='个人',`userid`='$username',`pwd`='$password',`uname`='$username',`sex`='男' ,`rank`='10',`money`='$money', `email`='$email', `scores`='$scores', `matt`='0', `face`='',`safequestion`='0',`safeanswer`='', `jointime`='$jointime',`joinip`='$joinip',`logintime`='$logintime',`loginip`='$loginip';");
 
//漏洞就这样形成了  当DZ的用户全在的话 就会建立到DEDECMS里  
经测试 只有密码替换!


简单来说 登录DEDECMS验证就是
如果DEDE账号登录成功 就同时登录DZ 如果DZ登录不成功 就在DZ建立一个一样账号密码的
反之 登录DEDECMS不成功 就在DZ里提取账号 登录成功了就把账号密码写入DEDECMS

利用前提条件 
第一 整合DZ
第二 管理员账号不能是ADMIN 因为DZ管理员默认也是ADMIN
第三 DEDE那边管理员没从前台登录。。和知道管理员账号

这样在DZ里注册一个和DEDE一样的管理员账号 然后从DEDE那里登录 就覆盖了DEDE的管理员密码
然后修改基本资料 改一次密码 就覆盖了后台密码 然后就可以登录后台直接拿WEBSHELL

总的来说  条件苛刻!  但也是有可能拿下WEBSHELL的方法之一











本文转hackfreer51CTO博客,原文链接: http://blog.51cto.com/pnig0s1992/484956 ,如需转载请自行联系原作者
相关文章
|
4月前
|
Linux Go 数据安全/隐私保护
linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep
linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep
63 2
|
6天前
|
Linux
Linux 简单指令认识 pwd|mkdir|touch|ls
Linux 简单指令认识 pwd|mkdir|touch|ls
|
4月前
|
SQL Linux C#
linux(十一)文件和目录相关命令touch和mkdir(1)
前边看了ls,cd,pwd这三个纯用来操作目录的命令。 接下来,来看一下文件和目录都有的命令。
38 0
|
4月前
|
SQL Linux
linux(十一)文件和目录相关命令touch和mkdir(2)
3:创建目录的时候,同时指定权限 语法:mkdir -m 755 xxx sql 复制代码 [root@iZuf60ynur81p6k0ysvtneZ opt]# mkdir -m 700 auth [root@iZuf60ynur81p6k0ysvtneZ opt]# ll -a total 24 drwxr-xr-x. 6 root root 4096 Aug 27 10:49 . dr-xr-xr-x. 18 root root 4096 Aug 10 19:00 .. drwx------ 2 root root 4096 Aug 27 10:49 auth -rw-r--r--
19 0
|
8月前
|
Linux
浏览文件与目录:深入了解Linux命令`ls`
在Linux系统中,文件和目录的管理是日常操作中的重要任务之一。`ls`命令作为一个基础工具,帮助用户浏览和查看文件系统中的内容。本文将详细介绍`ls`命令的基本概念、用法以及一些常用技巧,帮助你更好地管理文件和目录。
146 0
|
Ubuntu Linux Shell
linux第三课:目录文档操作命令(内含绝对/相对路径+1.pwd+2.cd+3.mkdir(创建目录)+4. rmdir(删除目录)+5. ls+6. cp+7.rm+8cat+9touch命令)
linux第三课:目录文档操作命令(内含绝对/相对路径+1.pwd+2.cd+3.mkdir(创建目录)+4. rmdir(删除目录)+5. ls+6. cp+7.rm+8cat+9touch命令)
159 0
linux第三课:目录文档操作命令(内含绝对/相对路径+1.pwd+2.cd+3.mkdir(创建目录)+4. rmdir(删除目录)+5. ls+6. cp+7.rm+8cat+9touch命令)
|
Linux
Linux目录和文件管理:pwd、cd、ls、alias、du(下)
目录和文件管理 由于 Linux 系统免费开源,使得 Linux 发行版本有很多,利用 Linux 开发产品的团队也有很多,如果任由每个人都按照自己的想法来配置 Linux 系统文件目录,后期可能会产生诸多的管理问题。试想,如果你进入一家公司,所用 Linux 系统的文件目录结构与所学的完全不同,实在令人头疼。 为了避免诸多使用者对 Linux 系统目录结构天马行空,Linux 基金会发布了 FHS 标准。多数 Linux 发行版系统都遵循这一标准。
127 0
|
存储 缓存 关系型数据库
Linux目录和文件管理:pwd、cd、ls、alias、du(上)
目录和文件管理 由于 Linux 系统免费开源,使得 Linux 发行版本有很多,利用 Linux 开发产品的团队也有很多,如果任由每个人都按照自己的想法来配置 Linux 系统文件目录,后期可能会产生诸多的管理问题。试想,如果你进入一家公司,所用 Linux 系统的文件目录结构与所学的完全不同,实在令人头疼。 为了避免诸多使用者对 Linux 系统目录结构天马行空,Linux 基金会发布了 FHS 标准。多数 Linux 发行版系统都遵循这一标准。
184 0
|
Linux
Linux目录和文件管理:pwd、cd、ls、alias、du(中)
目录和文件管理 由于 Linux 系统免费开源,使得 Linux 发行版本有很多,利用 Linux 开发产品的团队也有很多,如果任由每个人都按照自己的想法来配置 Linux 系统文件目录,后期可能会产生诸多的管理问题。试想,如果你进入一家公司,所用 Linux 系统的文件目录结构与所学的完全不同,实在令人头疼。 为了避免诸多使用者对 Linux 系统目录结构天马行空,Linux 基金会发布了 FHS 标准。多数 Linux 发行版系统都遵循这一标准。
230 0
|
Linux
【Linux—命令篇】文件和目录管理 pwd/ls/cd(1)
【Linux—命令篇】文件和目录管理 pwd/ls/cd
162 0
【Linux—命令篇】文件和目录管理 pwd/ls/cd(1)