您现在的位置是:首页 > 教程 > pbootcms教程pbootcms教程
pbootcms被挂马查不到木马文件的解决方法
乐丹2024-11-07 16:12:40pbootcms教程已有人查阅
导读最近一段时间很多使用pbootcms建设的网站都遭遇到了挂马的问题,表现形式便是页面增加了很多?id=123,?/?id=55662567.csv,?id=55674554.shtml 等等形态。
最近一段时间很多使用pbootcms建设的网站都遭遇到了挂马的问题,表现形式便是页面增加了很多?id=123,?/?id=55662567.csv,?id=55674554.shtml 等等形态。当我们查看后台系统日志中的蜘蛛访问或者首页上多了这些链接的时候,基本上就是被挂马了,这个时候我们需要及时作出处理要不然就容易被百度降权甚至严重的时候会被关站。
备注:本次挂马应该是程序自动挂马,很多使用pbootcms的网站都在短时间范围内受到了攻击。
处理步骤:
1)替换apps以及core文件,如果本地没有备份保存,那么可以选择升级到最近版本,目前官方也根据这个问题进行了更新处理.
2)修改robots.txt文件添加针对首页问题的拒绝访问规则
urlJump方法
备注:本次挂马应该是程序自动挂马,很多使用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('您访问的路径错误,请核对后重试!');
}
如下:在这里的后方加上else流程,进入主页流程的操作,同时加上urlJump方法(或者升级到较新版本以后再进行修改)urlJump方法
//首页跳转并过滤注入字符
/*
* @param $type url模式
* @param $isSecSiteDir 是否为二级目录 boolean
* */
private function urlJump($type, $isSecSiteDir){
$http = is_https() ? 'https://' : 'http://';
$**tches1 = '';
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_**tch($preg1,$_SERVER['REQUEST_URI'],$**tches1);
break;
//伪静态
case 2:
$preg2 = '';
if($isSecSiteDir === true){
if($_SERVER['REQUEST_URI'] == SITE_DIR . '/'){
$preg2 = '/^/.*/';
} elseif($_SERVER['REQUEST_URI'] == '/'){
$preg2 = '/^/$/';
}
} else {
$preg2 = '/^/.*/';
}
preg_**tch($preg2,$_SERVER['REQUEST_URI'],$**tches1);
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_**tch($preg3,$_SERVER['REQUEST_URI'],$**tches1);
break;
}
if($**tches1[0]){
if($_SERVER['REQUEST_URI'] == $**tches1[0]){
$this->getIndexPage();
} else {
header("Location: " . $http . $_SERVER['HTTP_HOST'] . $**tches1[0], true, 301);
}
} else {
_404('您访问的页面不存在,请核对后重试!');
}
}
通过以上三步基本上就可以杜绝本次批量被挂马的问题,后续就是要加强服务器上的安全验证的问题了.
本文标签:
很赞哦! ()
下一篇:pbootcms授权码在哪里填写
相关文章
- pbootcms程序运行异常: Modulo by zero的解决方法
- pbootcms程序sqlite转mysql教程
- pbootcms程序URL路径扁平化目录层级更利于SEO优化
- pbootcms程序提示:未检测到您服务器环境的sqlite3数据库扩展,请检查php.ini中是否已经开启该扩展!另外,检测到您
- 阿里云提示pbootcms程序发现后门(Webshell)木马文件:/core/basic/Kernel.php的处理方法
- pbootcms程序介绍和运行环境要求
- pbootcms程序运行异常: Modulo by zero,位置:/data/home/qxu1539590078/htdocs/co
随机图文
-
pbootcms自动判断跳转到手机端的写法
function browserRedirect() {var sUserAgent= navigator.userAgent.toLowerCase();var bIsIpad= sUserAgent.match(/ipad/i) == "ipad"; -
PbootCMS自定义前台404错误页的方法
PbootCMS已经内置支持自定义内容地址错误情况下错误页面的自定义功能,只需要在站点根目录下定义404.html文件即可 -
pbootcms 多级导航菜单制作方法代码实例
从本篇教程开始,将会以网站中常用的一些组件为例,来帮助大家了解和熟悉PbootCMS的标签。因为习惯从上往下写页面代码,所以就从网页头部的导航菜单开始。 -
pbootcms提示:检测到您模板中包含文件超过50个,请检查是否存..
在使用PBootCMS搭建网站时,如果遇到“检测到您模板中包含文件超过50个,请检查是否存在互相包含导致无限循环的情况”的错误,通常是因为模板文件中存在互相包含的情况。
留言与评论 (共有 条评论) |