任意文件上传漏洞修复方法
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)) {
$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 = "UPDATE
dede_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 * FROM
dede_member_pms WHERE id='$id' AND (fromid='{$cfg_ml>M_ID}' OR toid='{$cfg_ml>M_ID}');");
修复代码:
“`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("UPDATE
dede_guestbook SET
msg='$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
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复