dedecms早期版本后台存在大量的富文本编辑器,该控件提供了一些文件上传接口,同时DedeCMS对上传文件的后缀类型未进行严格的限制,这导致了黑客可以上传WEBSHELL,获取网站后台权限。
找到文件/dede/media_add.php或者/你的后台目录名/media_add.php,搜索(大概在69行左右):
$fullfilename = $cfg_basedir.$filename;
修改为:
if (preg_match('#\.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) { ShowMsg("你选择的文件类型禁止上传!",'javascript:;'); exit(); } $fullfilename = $cfg_basedir.$filename;
上传覆盖之后即可修复dedecms后台文件任意上传漏洞。