thinkphp 漏洞修复方案之<6.X版本的代码漏洞案例分析

简介: 大年初五,根据我们SINE安全的网站安全监测平台发现,thinkphp官方6.0版本被爆出高危的网站代码漏洞,该漏洞可导致网站被植入网站木马后门文件也叫webshell,具体产生的原因是session ID参数值这里并未对其做详细的安全过滤与校验,导致可以远程修改POST数据包将session的值改为恶意的后门代码,发送到服务器后端并生成PHP文件直接生成,可导致网站被攻击,服务器被入侵,关于该thinkphp漏洞的详情,我们SINE安全来跟大家分析一下。

大年初五,根据我们SINE安全的网站安全监测平台发现,thinkphp官方6.0版本被爆出高危的网站代码漏洞,该漏洞可导致网站被植入网站木马后门文件也叫webshell,具体产生的原因是session ID参数值这里并未对其做详细的安全过滤与校验,导致可以远程修改POST数据包将session的值改为恶意的后门代码,发送到服务器后端并生成PHP文件直接生成,可导致网站被攻击,服务器被入侵,关于该thinkphp漏洞的详情,我们SINE安全来跟大家分析一下。

0e2442a7d933c895c0838deb611b7af6830200aa.jpeg

thinkphp是国内用的比较多的一套开源系统,采用的是php+mysql架构开发,基于该框架的开发较容易与维护,深受很多站长以及企业的青睐,2018-2019年thinkphp的漏洞就层出不穷,像之前的3.23版本,ThinkPHP 5.0缓存漏洞、ThinkPHP 5.0.10、ThinkPHP5.0.12、ThinkPHP5.0.13、ThinkPHP5.0.23、thinkphp 5.0.22版本都存在这漏洞。


目前的新版本6.0存在着session任意文件上传漏洞,我们SINE安全工程师来进行详细的安全分析与代码的安全检测,再index控制器里我们发现可以写入session来进行控制代码,首先我们看下代码:如下图所示


3812b31bb051f8195c7c255b26f568eb2e73e70a.jpeg


以上代码是用来获取name的参数值并将值里的内容写到session中去,我们来本地搭建一套TP6.0版本的环境,来测试一下生成的session文件会到哪里去。http://测试网址/tp6/public/index.php/index/testsession?name=<?php%20phpinfo();?>当get 访问该页面的时候就会在网站根目录下的runtime文件夹里的session目录下生成一个PHP文件,我们可以看得到。那到底是那段代码导致可以写入文件名的呢?我们仔细看下TP框架里的store.php代码,追踪到253到270行这里,调用了一个参数来进行写入文件的操作,writefile($filename,$data)我们来追踪下这个函数接下来使用到是哪里的值,看下图:


b17eca8065380cd7dbd7940d5b058f325b8281c8.jpeg


原来是追踪到了sessionID值里去了,也就是POST数据包里的phpsessid,导致该值可以在远程进行伪造与篡改,漏洞利用截图:


91ef76c6a7efce1bfd77f2835310d1d8b58f65e6.jpeg


经过我们SINE安全的网站安全测试发现,thinkphp的漏洞利用条件是服务器开启session功能,默认代码是不开启的,有些第三方开发公司在给客户网站以及平台开发的时候会用到session功能来控制用户的登录状态以及权限所属判断,可导致网站被攻击,被篡改,数据库内容被修改等攻击情况的发生,在这里我们建议网站的运营者对该代码漏洞进行修复,对session的判断以及写入做拦截与效验,不允许直接.php文件的session值写入,如果您对代码不是太懂的话也可以找专业的网站安全公司来帮您修复网站漏洞

目录
打赏
0
0
0
0
170
分享
相关文章
网站安全防护公司对php版本存在泄露源码漏洞分析
经过进一步的安全测试,我们发现最新版本的PHP没有这个漏洞。我们对不同版本的PHP进行了进一步的安全测试,以确定这个漏洞到底是什么时候修复的。最终发现PHP 7.4.22版本存在该漏洞,我们的技术对未修补版本和已修补版本的代码进行了比较,发现了漏洞的修复细节,通过修复的代码,我们构造了漏洞的利用代码。
302 0
网站安全防护公司对php版本存在泄露源码漏洞分析
Spring 新版本修复远程命令执行漏洞(CVE-2022-22965),墨菲安全开源工具可应急排查
Spring 新版本修复远程命令执行漏洞(CVE-2022-22965),墨菲安全开源工具可应急排查
Spring 新版本修复远程命令执行漏洞(CVE-2022-22965),墨菲安全开源工具可应急排查
Thinkphp-v6漏洞如何修复
ThinkPHP可以说是快捷、简易的面向对象编程的一个微服务架构,PHP前端框架开发,创建于2006年,遵照Apache2的开源协议进行对外开放,目的是为了快速WEB应用程序开发和优化企业应用软件开发而发展起来的。假如Thinkphp代码开启了多语言这个功能,hack就能通过POST、GET、COOKIES等方式将恶意参数插入进去发送到服务器中进行执行恶意代码,并目录穿越+文件包含,利用pearcmd文件含有这个trick就可以实现RCE远程代码执行漏洞。
352 0
Thinkphp-v6漏洞如何修复
struts2架构网站漏洞修复详情与利用漏洞修复方案
struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出来的struts2漏洞也越来越,从最一开始S2-001到现在的最新的s2-057漏洞,本文着重的给大家介绍一下struts2漏洞的利用详情以及漏洞修复办法。
261 0
struts2架构网站漏洞修复详情与利用漏洞修复方案
PrestaShop 网站漏洞详情与漏洞修复办法
PrestaShop网站的漏洞越来越多,该网站系统是很多外贸网站在使用的一个开源系统,从之前的1.0初始版本到现在的1.7版本,经历了多次的升级,系统使用的人也越来越多,国内使用该系统的外贸公司也很多,PrestaShop扩展性较高,模板也多,多种货币自由切换,并支持信用卡以及paypal支付,是外贸网站的首选。就在最近几天,PrestaShop被爆出有远程代码注入漏洞,该漏洞影响范围较光,危害较大,可以上传webshell到网站根目录下。
303 0
PrestaShop 网站漏洞详情与漏洞修复办法
ecshop 全系列版本通杀漏洞 远程代码执行sql注入漏洞
ecshop漏洞于2018年9月12日被某安全组织披露爆出,该漏洞受影响范围较广,ecshop2.73版本以及目前最新的3.0、3.6、4.0版本都受此次ecshop漏洞的影响,主要漏洞是利用远程代码执行sql注入语句漏洞,导致可以插入sql查询代码以及写入代码到网站服务器里,严重的可以直接获取服务器的管理员权限,甚至有些网站使用的是虚拟主机,可以直接获取网站ftp的权限,该漏洞POC已公开,使用简单,目前很多商城网站都被攻击,危害较大,针对于此我们SINE安全对该ECSHOP漏洞的详情以及如何修复网站的漏洞,及如何部署网站安全等方面进行详细的解读。
573 0
ecshop 全系列版本通杀漏洞 远程代码执行sql注入漏洞
ThinkPHP < 5.0.24 远程代码执行高危漏洞 修复方案
漏洞描述由于ThinkPHP5.0框架对Request类的method处理存在缺陷,导致黑客构造特定的请求,可直接GetWebShell。 漏洞评级严重 影响版本ThinkPHP 5.0系列 < 5.
25905 0
Laravel有漏洞该如何修复网站漏洞
Laravel框架是目前许多网站,APP运营者都在使用的一款开发框架,正因为使用的网站较多,许多攻击者都在不停的对该网站进行漏洞测试,我们在对该套系统进行漏洞测试的时候,发现存在REC漏洞.主要是XSRF漏洞,下面我们来详细的分析漏洞,以及如何利用,漏洞修复等三个方面进行全面的记录.
1448 0