织梦dedecms漏洞大全

1.dedecms文件任意上传漏洞
漏洞一文件位置:/dede/media_add.php
找到64行

$filename = $savePath."/".$filename;

改成

 $filename = $savePath."/".$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(); }

漏洞二位置:/dede/file_class.php
找到161行

else if(preg_match("/\.(".$fileexp.")/i",$filename))

改成

else if(substr($filename, -strlen($fileexp))===$fileexp)

漏洞三位置:/include/dialog/select_soft_post.php
找到72行

$fullfilename = $cfg_basedir.$activepath.'/'.$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.$activepath.'/'.$filename;;

2.dedecms SQL注入漏洞
漏洞一文件位置:/member/album_add.php
找到226行

if(!$dsql->ExecuteNoneQuery($inQuery))

改成

@$mtypesid = intval($mtypesid); if(!$dsql->ExecuteNoneQuery($inQuery))

漏洞二文件位置:/include/filter.inc.php
找到46行

return $svar;

改成

return addslashes($svar);

漏洞三文件位置: /plus/search.php
找到109行

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

改成

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

3.dedecms cookies泄漏导致SQL漏洞
漏洞一文件位置:/member/inc/inc_archives_functions.php
找到239行

echo "<input type="hidden" name="dede_fieldshash" value="".md5($dede_addonfields.$cfg_cookie_encode)."" />";

改成

echo "<input type="hidden" name="dede_fieldshash" value="". md5($dede_addonfields . 'anythingelse' . $cfg_cookie_encode) ."" />";

漏洞二文件位置:/member/article_add.php
找到83行

if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode))

改成

if ( empty($dede_fieldshash) || ( $dede_fieldshash != md5($dede_addonfields . $cfg_cookie_encode) && $dede_fieldshash != md5($dede_addonfields . 'anythingelse' . $cfg_cookie_encode)) )

4.dedecms5.7注册用户任意文件删除漏洞,漏洞文件位置:/member/inc/archives_check_edit.php
找到92行

$litpic =$oldlitpic;

改成

$litpic =$oldlitpic; if (strpos( $litpic, '..') !== false || strpos( $litpic, $cfg_user_dir."/{$userid}/" ) === false) exit('not allowed path!');

5.dedecms模版SQL注入漏洞,漏洞文件位置:/member/soft_add.php
找到155行

$urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n";

改成

if (preg_match("#}(.*?){/dede:link}{dede:#sim", $servermsg1) != 1) { $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n"; }

6.dedecms上传漏洞,漏洞文件位置:/include/uploadsafe.inc.php
(1)找到40行

if(empty(${$_key.'_size'}))
    {
        ${$_key.'_size'} = @filesize($$_key);
    }

改成

if(empty(${$_key.'_size'}))
    {
        ${$_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 !'); } }

(2)找到53行

$image_dd = @getimagesize($$_key);

改成

$image_dd = @getimagesize($$_key); if($image_dd == false){ continue; }

7.dedecms注入漏洞,漏洞文件位置:/plus/guestbook/edit.inc.php
找到55行

$dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");

改成

$msg = addslashes($msg); $msg = addslashes($msg); $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ") ;

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: