pbootcms被黑挂马,查不到木马病毒文件,pbootcms和其他CMS一样,安全漏洞也是其无法避免的问题。虽然官方不断发布补丁、升级版本,但安全问题依然存在。
今天我们介绍一个病毒:
http://域名/jjjc/90.html?id=52239633.shtml
http://域名/jjjc/89.html?id=52239634.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行以后找到//一级目录这里,在上方添加
2 | _404( '您访问的路径错误,请核对后重试!' ); |
|

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

urlJump方法
04 | * @param $isSecSiteDir 是否为二级目录 boolean |
06 | private function urlJump($ type , $isSecSiteDir){ |
13 | if ($isSecSiteDir === true ){ |
14 | if ($_SERVER[ 'REQUEST_URI' ] == SITE_DIR . '/index.php' ){ |
15 | $preg1 = '/^/.*?/index.php/' ; |
16 | } elseif($_SERVER[ 'REQUEST_URI' ] == '/index.php' ){ |
17 | $preg1 = '/^/index.php/' ; |
20 | $preg1 = '/^/index.php/' ; |
22 | preg_match($preg1,$_SERVER[ 'REQUEST_URI' ],$matches1); |
27 | if ($isSecSiteDir === true ){ |
28 | if ($_SERVER[ 'REQUEST_URI' ] == SITE_DIR . '/' ){ |
30 | } elseif($_SERVER[ 'REQUEST_URI' ] == '/' ){ |
36 | preg_match($preg2,$_SERVER[ 'REQUEST_URI' ],$matches1); |
41 | if ($isSecSiteDir === true ){ |
42 | if (strpos($_SERVER[ 'REQUEST_URI' ], SITE_DIR) === 0){ |
43 | $preg3 = '/(^/.*?/index.php)|(^/.*)/' ; |
44 | } elseif(strpos($_SERVER[ 'REQUEST_URI' ], '/' ) === 0){ |
45 | $preg3 = '/(^/index.php)|(^/)/' ; |
48 | $preg3 = '/(^/index.php)|(^/)/' ; |
50 | preg_match($preg3,$_SERVER[ 'REQUEST_URI' ],$matches1); |
54 | if ($_SERVER[ 'REQUEST_URI' ] == $matches1[0]){ |
55 | $this->getIndexPage(); |
57 | header( "Location: " . $http . $_SERVER[ 'HTTP_HOST' ] . $matches1[0], true , 301); |
60 | _404( '您访问的页面不存在,请核对后重试!' ); |
|
通过以上三步基本上就可以杜绝本次批量被挂马的问题,后续就是要加强服务器上的安全验证的问题了.
=======================分割线。
扩展阅读:
>> Pbootcms安全设置防护教程(更新至2022-05-12)
>> pbootcms网站备份教程
发表评论
评论列表(1条)