049-WEB攻防-文件上传存储安全OSS对象分站解析安全解码还原目录执行

news/2024/4/13 2:59:24/文章来源:https://blog.csdn.net/wushangyu32335/article/details/136498159

049-WEB攻防-文件上传&存储安全&OSS对象&分站&解析安全&解码还原&目录执行

Untitled

#知识点:

1、文件上传-安全解析方案-目录权限&解码还原
2、文件上传-安全存储方案-分站存储&OSS对象

演示案例:

➢文件-解析方案-执行权限&解码还原
➢文件-存储方案-分站存储&OSS对象
➢实例-解析存储-传输&分站&OSS存储

#文件-解析方案-执行权限&解码还原

  • 将源码复制到对应目录下,并创建image.wusuowei.com文件夹,存储源码`G:\develop\safety\phpstudy_pro\WWW\image.wusuowei.com
  • 将小皮的网站部署文件夹,选择创建好的存放文件夹目录访问对应ip和端口即可

Untitled

Untitled

Untitled

1、执行权限

  • 文件上传后存储目录不给执行权限

  • 原理:开启禁止目录执行,将服务器的文件上传后存储目录,取消读取和执行的权限

    Untitled

    1. 由于文件上传功能并未做过滤,直接上传包含后门的木马文件shell.php上传成功即可发现,phpinfo被执行了,该文件被解析为php脚本

    2. 当在小皮网址配置的==选择安全配置→开启禁止目录执行→将禁止执行的目录设置为上传目录(/1/upload)==

    3. 开启后,再次访问上传的木马文件,发现报错403,至此文件上传漏洞不能被利用

      Untitled

Untitled

Untitled

Untitled

Untitled

2、解码还原

Untitled

  • 数据做存储,解析固定(文件后缀名无关)
    文件上传后利用编码传输解码还原

    1. 当服务器把上传的文件,利用base64编码编码为数据存储,也就是说从根本上解决了文件上传漏洞的问题==**,以数据存储就没有其他类型的文件解析即使上传后门文件,最后也是被当成图片去解析,由固定的协议去解析数据(data:image/png;base64,base数据)**==
    
    <?php
    // 处理文件上传
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {// 获取上传的文件信息$file = $_FILES['file'];// 获取文件名和临时文件路径$filename = $file['name'];$tmpFilePath = $file['tmp_name'];**// 将文件内容转换为Base64编码$base64Data = base64_encode(file_get_contents($tmpFilePath));**// 输出Base64编码的文件内容echo $base64Data;// 如果是图片文件,可以将其在页面上显示echo '<img src="data:image/jpeg;base64,' . $base64Data . '" alt="上传的图片">';
    }
    ?>
    

Untitled

Untitled

Untitled

#文件-存储方案-分站存储&OSS对象

1、分站存储

upload.xiaodi8.com 上传
images.xiaodi8.com 存储==(另一台服务器,目录权限锁死,只提供存储服务,不提供解析服务,即使上传木马文件,连接后门也无用)==

存储图片在另一台服务,有关于上传文件还使用base64编译为数据,进一步放置了文件上传的隐患

Untitled

Untitled

Untitled

2、OSS对象

Access控制-OSS对象存储-Bucket对象

上传的文件只能当作一个网盘来看,不提供解析服务,只提供下载

Untitled

Untitled

#如何判断

  1. 如果目录下已经上传进去木马文件,访问其上传路径发现报错403禁止访问,可能是文件上传后存储目录不给执行权限

    Untitled

  2. 在上传文件的时候,抓取数据包,如果发现是==由固定的协议(data:image/png;base64,base数据)则就是解码还原==

    Untitled

  3. 上传图片后,查看图片URL地址中的域名是否和目标上传地址一致,如果不一致则是分站存储

    Untitled

  4. 如果访问上传的文件路径,发现访问及下载,多半是OSS对象

    Untitled

#安全绕过

以上方案除目录设置权限如能==换目录解析绕过外,==

其他均无解

  1. 控制上传文件的的存储目录,绕开开启限制执行的目录即可(鸡肋)

Untitled

Untitled

Untitled

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

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

相关文章

C#,最小代价多边形三角剖分MCPT(Minimum Cost Polygon Triangulation)算法与源代码

1 最小代价多边形三角剖分算法 凸多边形的三角剖分是通过在非相邻顶点&#xff08;角点&#xff09;之间绘制对角线来形成的&#xff0c;这样对角线就不会相交。问题是如何以最小的代价找到三角剖分的代价。三角剖分的代价是其组成三角形的权重之和。每个三角形的重量是其周长…

vue在线查看pdf文件

1.引入组件 npm install --save vue-pdf2、pdf组件页面模板 <template><div class"scrollBox" ><el-dialog :visible.sync"open" :top"1" width"50%" append-to-body><div slot"title"><el…

EdgeX Foundry - 导出数据到 MQTT 服务

文章目录 一、概述1.安装说明2.安装 EMQX3.MQTTX 工具 二、安装部署1.docker-comepse2.修改配置3.启动 EdgeX Foundry4.访问 UI4.1. consul4.2. EdgeX Console 5.测试 EdgeX Foundry # EdgeX Foundryhttps://iothub.org.cn/docs/edgex/ https://iothub.org.cn/docs/edgex/devi…

Java8 CompletableFuture异步编程-入门篇

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 前言 1、Future vs CompletableFuture 1.1 准备工作 1.2 Future 的局限性 …

小程序API能力集成指南——画布API汇总(四)

CanvasContext canvas 组件的绘图上下文。 方法如下&#xff08;3&#xff09;&#xff1a; scale CanvasContext.scale CanvasContext.scale(number scaleWidth, number scaleHeight) 功能描述 在调用后&#xff0c;之后创建的路径其横纵坐标会被缩放。多次调用倍数会相…

什么是VR虚拟现实|虚拟科技博物馆|VR设备购买

虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;是一种通过计算机技术模拟出的一种全新的人机交互方式。它可以通过专门的设备&#xff08;如头戴式显示器&#xff09;将用户带入一个计算机生成的虚拟环境之中&#xff0c;使用户能够与这个虚拟环境进行交互…

基于“xxx” Androidx平台的驱动及系统开发 之 触摸板篇

目录 一、基于全志 A133 Android10平台&#xff0c;适配1366x768 - ilitek2511触摸1、原理图分析2、驱动移植与适配3、补丁和资源文件 二、基于瑞芯微 RK3566 Android11平台&#xff0c;适配GT9XX触摸1、原理图分析2、补丁及资源文件 三、遇到的问题与解决1、基于amlogic Andro…

Sodinokibi勒索病毒最新变种,勒索巨额赎金

前言 Sodinokibi勒索病毒在国内首次被发现于2019年4月份&#xff0c;2019年5月24日首次在意大利被发现&#xff0c;在意大利被发现使用RDP攻击的方式进行传播感染&#xff0c;这款病毒被称为GandCrab勒索病毒的接班人&#xff0c;在短短几个月的时间内&#xff0c;已经在全球大…

leetcode 3068. 最大节点价值之和【树形dp】

原题链接&#xff1a;3068. 最大节点价值之和 题目描述&#xff1a; 给你一棵 n 个节点的 无向 树&#xff0c;节点从 0 到 n - 1 编号。树以长度为 n - 1 下标从 0 开始的二维整数数组 edges 的形式给你&#xff0c;其中 edges[i] [ui, vi] 表示树中节点 ui 和 vi 之间有一…

Sentinel 面试题及答案整理,最新面试题

Sentinel的流量控制规则有哪些&#xff0c;各自的作用是什么&#xff1f; Sentinel的流量控制规则主要包括以下几种&#xff1a; 1、QPS&#xff08;每秒查询量&#xff09;限流&#xff1a; 限制资源每秒的请求次数&#xff0c;适用于控制高频访问。 2、线程数限流&#xf…

Linux系统——SElinux

目录 前言 一、SELinux 的作用及权限管理机制 1.SELinux 的作用 1.1DAC 1.2MAC 1.3DAC 和 MAC 的对比 2.SELinux 基本概念 2.1主体&#xff08;Subject&#xff09; 2.2对象&#xff08;Object&#xff09; 2.3政策和规则&#xff08;Policy & Rule&#xff09;…

数据结构/C++:二叉搜索树

数据结构/C&#xff1a;二叉搜索树 概念模拟实现结构分析插入中序遍历查找删除析构函数拷贝构造赋值重载递归查找递归插入递归删除 总代码展示 概念 二叉搜索树&#xff08;BST - Binary Search Tree&#xff09;是一种特殊的二叉树&#xff0c;每个顶点最多可以有两个子节点。…

scrapy 爬虫:多线程爬取去微博热搜排行榜数据信息,进入详情页面拿取第一条微博信息,保存到本地text文件、保存到excel

如果想要保存到excel中可以看我的这个爬虫 使用Scrapy 框架开启多进程爬取贝壳网数据保存到excel文件中&#xff0c;包括分页数据、详情页数据&#xff0c;新手保护期快来看&#xff01;&#xff01;仅供学习参考&#xff0c;别乱搞_爬取贝壳成交数据c端用户登录-CSDN博客 最终…

如何修炼成“神医”——《OceanBase诊断系列》之一

本系列是基于OcenaBase 开发工程师在工作中的一些诊断经验&#xff0c;也欢迎大家分享相关经验。 1. 关于神医的故事 扁鹊&#xff0c;中国古代第一个被正史记载的医生&#xff0c;他的成才之路非常传奇。年轻时&#xff0c;扁鹊是一家客栈的主管。有一位名叫长桑君的客人来到…

YOLOv8基础必需运用【目标检测、分割、姿势估计、跟踪和分类任务】

文章目录 前言1、环境安装2.1安装torch相关库2.2 获取yolov8最新版本&#xff0c;并安装依赖 3. 如何使用模型用于各种CV任务方式一&#xff1a;命令行形式方式二&#xff1a;python代码形式示例3.1 目标检测任务实现代码运行结果检测视频代码 3.2 分割任务实现代码运行效果分割…

蓝桥杯前端Web赛道-收集帛书碎片

蓝桥杯前端Web赛道-收集帛书碎片 题目链接&#xff1a;1.收集帛书碎片 - 蓝桥云课 (lanqiao.cn) 题目要求&#xff1a; 其实通过这个目标我们可以看出其实就是筛选出数组中多余的元素&#xff0c;那么我们可以通过includes来判断&#xff0c;当前数组是否已经拥有过这个碎片…

Maven入门(作用,安装配置,Idea基础maven,Maven依赖,Maven构建项目)【详解】

目录 一. Maven的作用 1.依赖管理 2.统一项目结构 3.项目构建 二.Maven安装配置 1. Maven的仓库类型 2 加载jar的顺序 3. Maven安装配置 4.安装Maven 5.配置仓库 三.idea集成maven 1.给当前project集成maven 2.给新建project集成maven 3.创建maven项目 4.pom…

【C语言】glibc

一、获取源码 apt install glibc-source 在Debian系统中&#xff0c;通过apt install glibc-source命令安装的glibc源码通常会被放置在/usr/src/glibc目录下。安装完成后&#xff0c;可能需要解压缩该源码包。以下是解压缩源码包的步骤&#xff1a; 1. 打开终端。 2. 切换到源…

图片在div完全显示

效果图&#xff1a; html代码&#xff1a; <div class"container" style" display: flex;width: 550px;height: 180px;"><div class"box" style" color: red; background-color:blue; width: 50%;"></div><div …

机器学习-面经(part7、无监督学习)

机器学习面经系列的其他部分如下所示&#xff1a; 机器学习-面经&#xff08;part1&#xff09; 机器学习-面经(part2)-交叉验证、超参数优化、评价指标等内容 机器学习-面经(part3)-正则化、特征工程面试问题与解答合集机器学习-面经(part4)-决策树共5000字的面试问题与解答…