在这里读懂"365bet体育在线"

Mrxn's Blog

来源:原创 2020-02-01 11:06 标签:
0x00 简介 ThinkCMF是一款基于ThinkPHP+MySQL开辟的开源中文内容办理框架。ThinkCMF提出灵敏的应用机制,框架自身供给基础的办理功用,而开辟者可以依据自身的需求以应用的方法停止扩大。

  0x00 简介

  ThinkCMF是一款基于ThinkPHP+MySQL开辟的开源中文内容办理框架。ThinkCMF提出灵敏的应用机制,框架自身供给基础的办理功用,而开辟者可以依据自身的需求以应用的方法停止扩大。每个应用都能自力的完成本人的义务,也可经过系统调用其他应用停止协同任务。在这类运起色制下,开辟商场应用的用户无需关心开辟SNS应用时若何任务的,但他们之间又可经过系统自身停止调和,大年夜大年夜的降低了开辟成本和沟通成本。

  0x01 破绽概述

  远程进击者在无需任何权限状况下,可应用此破绽结构恶意的url,向效劳器写入任意内容的文件,到达远程代码履行的目标。

  0x02 影响版本

  ThinkCMF X1.6.0

  ThinkCMF X2.1.0

  ThinkCMF X2.2.0

  ThinkCMF X2.2.1

  ThinkCMF X2.2.2

  ThinkCMF X2.2.3

  0x03 破绽应用&测试情况

  测试情况:

  测试版本:thinkcmf 2.2.2

  phpstudy pro

  windows 10

  一共有两种方法:

  第一种是经过结构a参数的fetch方法,可以不需求知道文件门路便可以把php代码写入文件,phpinfo版payload以下:

  第一种破绽复现截图以下:

  thinkcmf之getshell.png

  第二种是经过结构a参数的display方法,完成任意内容包罗破绽,payload以下:

  第二种破绽复现截图以下:

  thinkcmf任意文件包罗二.png

  0x04 破绽剖析

  依据index.php的第25行可知道项目相对门路为application目次:

  然后找到 application\Portal\Controller 门路下的 IndexController.class.php 控制器类:

  可以看到只要一个公共的display方法:

  其父类是 Common\Controller\HomebaseController ,依据ThinkPHP框架规矩,可以经过 g\m\a 参数指定分组(group)\模块(model)\举措或方法(action),我们翻开 application\Common\Controller 门路下的 HomebaseController.class.php 可以看到经过a参数直接调的这几个权限为 public 的方法:

推荐阅读