网站地图    收藏   

主页 > 后端 > 网站安全 >

Dedecms 注射漏洞获得管理员密码 - 网站安全 - 自

来源:自学PHP网    时间:2015-04-17 14:11 作者: 阅读:

[导读] Dedecms 某文件没过滤直接带入sql查询,攻击者在magic_quotes_gpc=off时,可以注射SQL代码,绕过sqlids检测,执行sql语句.详细说明:要求会员中心,注册用户登录,magic_quotes_gpc=off,以及php版本要求,其实...

Dedecms 某文件没过滤直接带入sql查询,攻击者在magic_quotes_gpc=off时,可以注射SQL代码,绕过sqlids检测,执行sql语句.
详细说明:要求会员中心,注册用户登录,magic_quotes_gpc=off,以及php版本要求,其实也没有什么危害.
漏洞代码如下:
 
root@bt:/var/www/dede/member# cat -n edit_face.php
 
    9 require_once(dirname(__FILE__).”/config.php”); //这里包含和谐的../include/filter.inc.php
    10 CheckRank(0,0); //检查权限,至少要是通过认证的会员,什么注册不了会员?别着急我们有办法
    11 $menutype = ‘config’;
    12 if(!isset($dopost))
    13 {
    14 $dopost = ”;
    15 }
    16 if(!isset($backurl))
    17 {
    18 $backurl = ‘edit_face.php’;
    19 }
    20 if($dopost==’save’)
    21 {
    22 $maxlength = $cfg_max_face * 1024;
    23 $userdir = $cfg_user_dir.’/’.$cfg_ml->M_ID;
    24 if(!preg_match(“#^”.$userdir.”#”, $oldface)) //绕过这个正则表达式才能继续玩
    25 {
    26 $oldface = ”;
    27 }
    28 if(is_uploaded_file($face))
    29 {
    30 if(@filesize($_FILES['face']['tmp_name']) > $maxlength)
    31 {
    32 ShowMsg(“你上传的头像文件超过了系统限制大小:{$cfg_max_face} K!“, ‘-1′);
    33 exit();
 
    34 }
    35 //删除旧图片(防止文件扩展名不同,如:原来的是gif,后来的是jpg)
    36 if(preg_match(“#\.(jpg|gif|png)$#i”, $oldface) && file_exists($cfg_basedir.$oldface))
    37 {
    38 @unlink($cfg_basedir.$oldface);
    39 }
    40 //上传新工图片 www.2cto.com
 
    41 $face = MemberUploads(‘face’, $oldface, $cfg_ml->M_ID, ‘image’, ‘myface’, 180, 180);
    42 }
    43 else
    44 {
    45 $face = $oldface; // $oldface是我们能控制的变量
    46 }
    47 $query = “UPDATE `detest_member` SET `face` = ‘$face’WHERE mid=’{$cfg_ml->M_ID}’ “; //这里导致注射漏洞
    48 $dsql->ExecuteNoneQuery($query);
    49 // 清除缓存
    50 $cfg_ml->DelCache($cfg_ml->M_ID);
    51 ShowMsg(‘成功更新头像信息!‘, $backurl);
    52 exit();
    53 }

 
作者c4rp3nt3r

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论