dedecms早期版本后台存在大量的富文本编辑器,该控件提供了一些文件上传接口,同时DedeCMS对上传文件的后缀类型未进行严格的限制,这导致了黑客可以上传WEBSHELL,获取网站后台权限。
找到文件/dede/media_add.php或者/你的后台目录名/media_add.php,搜索(大概在69行左右):
1 | $fullfilename = $cfg_basedir . $filename ; |
修改为:
1 | 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后台文件任意上传漏洞。