如何全面修复织梦dedecms中的任意文件上传和注入漏洞?

织梦dedecms漏洞修复大全包括任意文件上传漏洞与注入漏洞的修复方法。

任意文件上传漏洞修复方法

如何全面修复织梦dedecms中的任意文件上传和注入漏洞?

1、/include/dialog/select_soft_post.php

原始代码$fullfilename = $cfg_basedir.$activepath.'/'.$filename;

修复代码

“`php

if (preg_match(‘#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^azAZ09]+$#i’, trim($filename))) {

ShowMsg("你指定的文件名被系统禁止!", ‘javascript:;’);

exit();

}

$fullfilename = $cfg_basedir.$activepath.’/’.$filename;;

“`

2、后台文件任意上传漏洞

原始代码$fullfilename = $cfg_basedir.$filename;

修复代码

“`php

if (preg_match(‘#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^azAZ09]+$#i’, trim($filename))) {

ShowMsg("你指定的文件名被系统禁止!", ‘javascript:;’);

exit();

}

$fullfilename = $cfg_basedir.$filename;

“`

3、/include/uploadsafe.inc.php

第一个地方

原始代码${$_key.'_size'} = @filesize($$_key);

修复代码

“`php

${$_key.’_size’} = @filesize($$_key);

$imtypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/bmp");

if(in_array(strtolower(trim(${$_key.’_type’})), $imtypes)) {

如何全面修复织梦dedecms中的任意文件上传和注入漏洞?

$image_dd = @getimagesize($$_key);

if($image_dd == false){ continue; }

if (!is_array($image_dd)) { exit(‘Upload filetype not allow !’); }

}

“`

第二个地方

原始代码$image_dd = @getimagesize($$_key);

修复代码

“`php

$image_dd = @getimagesize($$_key);

if($image_dd == false){ continue; }

“`

SQL注入漏洞修复方法

1、/include/filter.inc.php

原始代码return $svar;

修复代码

“`php

return addslashes($svar);

“`

2、/member/mtypes.php

原始代码$query = "UPDATEdede_mtypes SET mtypename='$name' WHERE mtypeid='$id' AND mid='$cfg_ml>M_ID';"

修复代码

“`php

$id = intval($id);

$query = "UPDATEdede_mtypes SET mtypename=’$name’ WHERE mtypeid=’$id’ AND mid=’$cfg_ml>M_ID’;";

“`

3、/member/pm.php

原始代码$row = $dsql>GetOne("SELECT * FROMdede_member_pms WHERE id='$id' AND (fromid='{$cfg_ml>M_ID}' OR toid='{$cfg_ml>M_ID}');");

如何全面修复织梦dedecms中的任意文件上传和注入漏洞?

修复代码

“`php

$id = intval($id);

$row = $dsql>GetOne("SELECT * FROMdede_member_pms WHERE id=’$id’ AND (fromid='{$cfg_ml>M_ID}’ OR toid='{$cfg_ml>M_ID}’);");

“`

4、/plus/guestbook/edit.inc.php

原始代码$dsql>ExecuteNoneQuery("UPDATEdede_guestbook SETmsg='$msg',posttime='".time()."' WHERE id='$id';");

修复代码

“`php

$msg = addslashes($msg);

$dsql>ExecuteNoneQuery("UPDATEdede_guestbook SETmsg=’$msg’,posttime=’".time()."’ WHERE id=’$id’;");

“`

5、/plus/search.php

原始代码$keyword = addslashes(cn_substr($keyword,30));

修复代码

“`php

$typeid = intval($typeid);

$keyword = addslashes(cn_substr($keyword,30));

“`

常见问题解答(FAQs)

1、问题一:为什么需要对织梦dedecms进行漏洞修复?

回答:织梦dedecms是一个广泛使用的开源内容管理系统,由于其用户基数大,容易成为黑客攻击的目标,通过修复已知的漏洞,可以有效提高系统的安全性,防止恶意攻击和数据泄露。

2、问题二:在修复过程中需要注意哪些事项?

回答:在修复过程中,首先需要备份原始文件,以防修复失败时能够恢复,确保替换或添加的代码完全正确,避免因小错误导致系统无法正常运行,建议在测试环境中先进行测试,确认无误后再应用到生产环境。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1107410.html

(0)
未希的头像未希新媒体运营
上一篇 2024-09-30 09:06
下一篇 2024-09-30

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入