- A+
显示不全请点击全屏阅读
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 //上传新工图片
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 `dede_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 }
Tags:
织梦漏洞,
如果您喜欢我的博客,欢迎点击图片定订阅到邮箱 也可以点击链接【订阅到鲜果】
如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡