您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > pbootcms >
    pbootcms程序地址后被挂马,但是查不到木马文件
    时间:2024-12-14 21:06 作者:菜鸟哥 浏览:收藏 挑错 打印

    最近一段时间很多使用pbootcms建设的网站都遭遇到了挂马的问题,表现形式便是页面增加了很多?id=123,?/?id=55662567.csv,?id=55674554.shtml 等等形态。当我们查看后台系统日志中的蜘蛛访问或者首页上多了这些链接的时候,基本上就是被挂马了,这个时候我们需要及时作出处理要不然就容易被百度降权甚至严重的时候会被关站。

    备注:本次挂马应该是程序自动挂马,很多使用pbootcms的网站都在短时间范围内受到了攻击。

    处理步骤:

    1)替换apps以及core文件,如果本地没有备份保存,那么可以选择升级到最近版本,目前官方也根据这个问题进行了更新处理.

    2)修改robots.txt文件添加针对首页问题的拒绝访问规则

    # Robots 

    Disallow: /admin/*

    Disallow: /skin/

    Disallow: /template/

    Disallow: /static/*

    Disallow: /api/*

    Disallow: /?*

    3) 修改源码,在apps/home/controller/IndexController.php 文件中添加针对首页带参数问题的处理。代码大概在200行以后找到//一级目录这里,在上方添加

    查看源码

    if(strstr(URL,"?")){

       _404('您访问的路径错误,请核对后重试!');

    }

    pbootcms程序地址后被挂马,但是查不到木马文件

    如下:在这里的后方加上else流程,进入主页流程的操作,同时加上urlJump方法(或者升级到最新版本以后再进行修改)

    pbootcms程序地址后被挂马,但是查不到木马文件

    urlJump方法

    查看源码

    //首页跳转并过滤注入字符

        /*

         * @param $type url模式

         * @param $isSecSiteDir 是否为二级目录 boolean

         * */

        private function urlJump($type, $isSecSiteDir){

            $http = is_https() ? 'https://' : 'http://';

            $matches1 = '';

            switch ($type){

                //普通模式

                case 1:

                    $preg1 = '';

                    if($isSecSiteDir === true){

                        if($_SERVER['REQUEST_URI'] == SITE_DIR . '/index.php'){

                            $preg1 = '/^/.*?/index.php/';

                        } elseif($_SERVER['REQUEST_URI'] == '/index.php'){

                            $preg1 = '/^/index.php/';

                        }

                    } else {

                        $preg1 = '/^/index.php/';

                    }

                    preg_match($preg1,$_SERVER['REQUEST_URI'],$matches1);

                    break;

                //伪静态

                case 2:

                    $preg2 = '';

                    if($isSecSiteDir === true){

                        if($_SERVER['REQUEST_URI'] == SITE_DIR . '/'){

                            $preg2 = '/^/.*/';

                        } elseif($_SERVER['REQUEST_URI'] == '/'){

                            $preg2 = '/^/$/';

                        }

                    } else {

                        $preg2 = '/^/.*/';

                    }

                    preg_match($preg2,$_SERVER['REQUEST_URI'],$matches1);

                    break;

                //兼容模式

                case 3:

                    $preg3 = '';

                    if($isSecSiteDir === true){

                        if(strpos($_SERVER['REQUEST_URI'], SITE_DIR) === 0){

                            $preg3 = '/(^/.*?/index.php)|(^/.*)/';

                        } elseif(strpos($_SERVER['REQUEST_URI'], '/') === 0){

                            $preg3 = '/(^/index.php)|(^/)/';

                        }

                    } else {

                        $preg3 = '/(^/index.php)|(^/)/';

                    }

                    preg_match($preg3,$_SERVER['REQUEST_URI'],$matches1);

                    break;

            }

            if($matches1[0]){

                if($_SERVER['REQUEST_URI'] == $matches1[0]){

                    $this->getIndexPage();

                } else {

                    header("Location: " . $http . $_SERVER['HTTP_HOST'] . $matches1[0], true, 301);

                }

            } else {

                _404('您访问的页面不存在,请核对后重试!');

            }

        }

    通过以上三步基本上就可以杜绝本次批量被挂马的问题,后续就是要加强服务器上的安全验证的问题了.

    =======================分割线。

    扩展阅读:

    >> Pbootcms安全设置防护教程(更新至2022-05-12)

    >> pbootcms网站备份教程

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    pbootcms标题和摘要描述字数控制标签pbootcms标题和摘要描述字数控制标签
    pbootcms模板报错提示PHP Warning: Unknown: open_basedir restrictionpbootcms模板报错提示PHP Warning: Unk
    PbootCMS后台访问地址及默认帐号密码PbootCMS后台访问地址及默认帐号密码