帮助中心
40
最新文章
  • DeDecms迁移数据提示dede_advancedsearch’ doesn’t exist的解决方法
  • 织梦程序复制的文章如何批量取消原文的超链接
  • DeDecms如何实现当天发表的文章日期以红色显示
  • DeDecms连接数据库失败的原因和解决方法
  • 织梦程序后台高级编辑器添加图像时如何解除高度锁定比例呢?
  • 织梦DeDecms无法自动提取缩略图的两种解决方法适用于虚拟主机
  • Dedecms如何显示文章数量的方法
  • DeDecms后台管理搜索实现全文搜索文章内容
  • DeDecms友情链接LOGO滚动展示
  • DeDecms搜索结果如何按点击率排序
  • 文章分类
  • 171CMS_711CMS
  • BIWEB商务智能网站系统
  • BO-BLOG开源博客系统相关
  • cmseasy易通企业系统相关
  • Cscms程氏内容管理系统
  • dedecms教程_织梦系统帮助文档_dedecms虚拟主机空间
  • Destoon开源b2b系统相关
  • DirectAdmin(DA)用户面板相关
  • discuz论坛_discuz x3.0教程_discuz x3.2教程_DZ论坛
  • DouPHP轻量级企业网站管理系统
  • drupal开源内容管理系统(CMS)
  • ecmall商城系统教程-ecmall最新版本-ecmall模版教程
  • Ecshop开源网店系统相关
  • ECTouch程序相关教程
  • ESPCMS_易思
  • ftp教程_ftp上传工具_ftp软件_ftp是什么
  • iwebshop开源网店系统相关
  • joomla开源cms相关
  • KingCMS内容管理系统
  • Lifetype开源博客相关
  • Magento开源电子商务系统
  • mambors开源cms相关
  • mediawiki开源百科系统相关
  • Metinfo(米拓)CMS教程-米拓模版安装教程
  • modoer3.2_modoer点评系统_modoer模版
  • MvMmall多用户商城系统
  • mysql数据库相关
  • opensns开源社交系统
  • oscommerce电子商务系统
  • PHPBB开源论坛程序相关
  • phpcms教程_phpcms漏洞修复_phpcms技术中心
  • phpmyfaq开源问答(FAQ)系统相关
  • phpweb程序_phpweb教程_phpweb成品网站
  • PHPWIND开源论坛系统相关
  • phpyun
  • php主机产品
  • Pmwiki开源百科程序
  • SemCms开源程序
  • ShopEx网店程序_shopex模板教程_shopex虚拟主机空间
  • ShopNc开源商城系统教程_电子商务系统教程
  • Thinkphp中文WEB应用开发框架相关
  • thinksns全平台综合型社交系统
  • Typecho开源博客系统相关
  • WordPress博客中文教程_wordpress模板教程_wordpress虚拟主机空间
  • XOOPS内容管理系统(CMS)
  • YOUDIANCMS内容管理系统
  • zblog博客程序教程_zblog模版问题解决方法
  • Zen Cart开源商城系统相关
  • 主机环境配置相关
  • 其他资料
  • 域名相关
  • 安全资讯
  • 宏博cms企业系统相关
  • 帝国CMS教程_帝国CMS常见问题解决方法
  • 建站之星教程_建站之星程序常见问题解决方案
  • 无忧主机原创视频教程
  • 无忧主机用户部署安装网站
  • 无忧主机超级用户管理系统相关
  • 易企cms企业系统相关
  • 最土团购程序_最土团购程序模板教程_最土团购虚拟主机空间
  • 海盗云商系统
  • 网站SEO教程_SEO是什么?_SEO博客-无忧主机
  • 网站迁移和数据备份相关
  • 资源目录
  • 骑士cms_骑士人才系统教程
  • dedecms 5.7版本利用guestbook.php来对sql注射漏洞-漏洞预警

    dedecms程序漏洞问题困扰了很多的站长,在今天有个用户因流量超出找过来,经过对无忧主机php空间网站日志的分析,发现一个漏洞引发的可怕问题,在日志中体现到,如下图:

    dedecms 10 7 1 300x183 dedecms 5.7版本利用guestbook.php来对sql注射漏洞 漏洞预警

    从这个日志来看,这个文件是很不正常的,但是很多站长不知道这个是漏洞在注射漏洞,这个影响的5.7版本的,该如何解决呢,找了很多资料发现还是有解决办法的。
    漏洞文件edit.inc.php具体代码:

    <?php
    /**
     * @version        $Id: edit.inc.php 1 10:06 2010-11-10 tianya $
     * @package        DedeCMS.Site
     * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
     * @license        http://help.dedecms.com/usersguide/license.html
     * @link           http://www.dedecms.com
     */
    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;
            }
        }
        $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也需要存在
    该如何判断是否存在漏洞呢,请看下面测试,
    首先打开:域名/plus/guestbook.php把鼠标放在 [回复/编辑] 上可以看到访问者留言的ID。则记下ID,访问:域名/plus/guestbook.php?action=admin&job=editok&msg=errs.cc’&id=存在的留言ID提交后,如果是dede5.7版本的话,会出现 “成功更改或回复一条留言” 那就证明修改成功了。
    再返回到:域名/plus/guestbook.php 看下您所改的那条留言ID是否变为了 errs.cc’ 如果是的话,那就证明此漏洞无法再利用应为他开启:php magic_quotes_gpc=off
    如果没有修改成功,那留言ID的内容还是以前的,那就证明漏洞可以利用。
    那么再次访问:域名/plus/guestbook.php?action=admin&job=editok&id=存在的留言ID&msg=’,msg=user(),email=’然后返回,那条留言ID的内容就直接修改成了mysql 的user().

    无忧主机相关文章推荐阅读:

    DEDECMS 常见错误总结

    DEDECMS如何去掉文章RUL中的日期

    分享一个DEDECMS删除所有待审核稿件SQL的语句

    DEDECMS标题、关键词、描述变量名被修改导致网站无收录的解决方法

    本文地址:http://www.51php.com/dedecms/16942.html