文件上传漏洞及安全

文件上传

文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题,对于如何确保这类安全问题,一般会从原生态功能中的文件内容,文件后缀,文件类型等方面判断,但是漏洞可能不仅在本身的代码验证逻辑中出现安全问题,也会在语言版本,语言函数,中间件,引用的第三方编辑器等存在缺陷地方配合利用。另外文件上传也有多个存储逻辑,不同的文件存储方案也会给攻击者带来不一样的挑战!

靶场下载链接:

https://github.com/sqlsec/upload-labs-docker

前端JS检测绕过

由于只做了前端js校验,所以抓包绕过前端检验即可

在这里插入图片描述

在这里插入图片描述

.htaccess绕过(apache的解析配置文件)

.htaccess文件定义了哪个文件可以以脚本方式运行

<FilesMatch “^qaz*\.jpg$”> //文件匹配指令 匹配以qaz开头.jpg结尾的所有文件
SetHandler application/x-httpd-php //指定被匹配的文件按照php执行

在这里插入图片描述

MIME类型&文件头检测绕过

后端判断Content-Type字段 也就是MIME类型是否符合要求

在这里插入图片描述

不同后缀名的文件头都不一样
在这里插入图片描述

黑名单检测绕过

例如针对php后缀名做为黑名单,只有这个不能上传,其余都可以,这里可以尝试大小写绕过,冷门php3、php5等后缀名上传,或者黑盒的时候直接fuzz跑后缀名

字典下载:https://github.com/fuzzdb-project/fuzzdb

%00截断绕过

使用条件:

magic_quotes_gpc = Off

PHP版本小于5.3.4

在这里插入图片描述

url 上面 %00

post 下面 %00 然后url解码

在这里插入图片描述

逻辑不严谨-条件竞争

原理:

本来检测文件流程:用户上传 -> 服务器判断是否合规 -> 合规存储

错误逻辑:用户上传->服务器先存储->判断是否合规->不合规删除

这里就导致就算不合规,但是恶意文件在服务器停留了,这就可以实现条件竞争利用这个逻辑漏洞

先预知恶意文件路径,然后使用爆破模块疯狂请求

在这里插入图片描述

上传恶意文件内容:

<?php fputs(fopen('111.php','w'),'<?php eval($REQUEST[1]);?>');?>

一旦请求成功一次,就可以在同目录留下一个木马

二次渲染

后端语言会对图片进行二次渲染,让图片更好的呈现出来,但是这样就会造成一个图片里插入的脚本代码丢失的情况

先搞个正常图片,上传图片后导出渲染后的图片,然后对比

在这里插入图片描述

二进制对比
在这里插入图片描述

可以发现存在一直不变化的数据地方,将木马语句插入其中就行

move_uploaded_file函数缺陷

move_uploaded_file($temp_file, $img_path)

$img_path可控的时候,还会忽略掉 $img_path后面的 /.

中间件解析漏洞

IIS

IIS 6 解析漏洞

该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析
该版本默认会将*.asp/目录下的所有文件当成Asp解析。
如:logo.asp;.jpg、xx.asp/logo.jpg

IIS 7.x 解析漏洞

在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为php文件

Apache

未知扩展名解析漏洞 <=2.4.23

不识别即向前解析(低版本2.4.23以下版本都可以)

例如.php.dsd dsd后缀名解析不了,则向前php解析

在这里插入图片描述

换行解析漏洞(CVE-2017-15715)2.4.0-2.4.29

条件:

  1. 符合漏洞版本2.4.0~2.4.29
  2. 有文件上传点
  3. 能够重命名上传文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上传成功

多后缀解析漏洞(配置问题,比较少见,和版本无关)

在这里插入图片描述

Nginx

00截断 cve-2013-4547(Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

测试
在这里插入图片描述

解析漏洞(配置问题,比较少见,和版本无关)

在这里插入图片描述

编辑器上传漏洞

net.版本1.4.3文件上传

在这里插入图片描述

1、本地新建poc.html文件,文件内容如下,其中需将action修改成目标漏洞路径

shell addr:

2、制作aspx图片马上传至VPS并在所在目录启动http服务

3、打开poc.html后,输入vps的图片马地址,成功上传至目标服务器后,会返回webshell访问地址

4、使用Webshell管理工具连接指定地址即可成功连接webshell

文件上传安全

拒绝执行权限

文件上传的目录禁止执行权限,导致不能解析木马

在这里插入图片描述

在这里插入图片描述

绕过:

条件:

上传目录可控

上传目录可访问

控制上传目录到未被禁止执行权限的目录

解码还原

网站对上传的文件、图片以固定的data:image/png;base64, 传输解析数据

在这里插入图片描述

无法绕过

分站存储

将上传的文件存储到一台单独的服务器,一般该单独服务器是只拿来做存储使用,并且可能禁止执行权限,无法绕过

OSS存储

使用oss云存储服务,是第三方存储服务,一般遇到访问就下载文件,无法绕过

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

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

相关文章

Java的查找算法和排序算法

Java的查找算法和排序算法 一、查找算法1. 基本查找a. 示例 2. 二分查找a. 示例 3. 插值查找4. 斐波那契查找5. 分块查找a. 示例 二、排序算法1. 冒泡排序a. 示例 2. 选择排序a. 示例 3、插入排序a. 示例 4. 快速排序&#xff08;效率最高&#xff09;a. 示例 一、查找算法 1.…

期权懂|2024年期权最新止损策略有哪些?

本期让我懂 你就懂的期权懂带大家来了解&#xff0c;2024年期权最新止损策略有哪些&#xff1f;有兴趣的朋友可以看一下。期权小懂每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 2024年期权最新止损策略有哪些&#xff1f; 一、浮亏比例…

Pandas模块之垂直或水平交错条形图

目录 df.plot() 函数Pandas模块之垂直条形图Pandas模块之水平交错条形图 df.plot() 函数 df.plot() 是 Pandas 中的一个函数&#xff0c;用于绘制数据框中的数据。它是基于 Matplotlib 库构建的&#xff0c;可以轻松地创建各种类型的图表&#xff0c;包括折线图、柱状图、散点…

PCM5102A具有PLL和32位、384kHz PCM/I2S接口的2.1VRMS、112dB音频立体声DAC

PCM5102A外观和丝印 1 特性 1•超低带外噪声 •具有BCK基准的高性能集成音频锁相环(PLL)&#xff0c;可在内部生成SCK •直接线路电平2.1VRMS输出 •无需隔直电容 •线路电平输出支持低至1kΩ的负载 •智能静音系统&#xff1b;软斜升或斜降搭配模拟静音&#xff0c;实现120dB…

深度学习实战项目】基于OPenCV的人脸识别考勤系统软件开发【python源码+UI界面+功能源码详解】

背景及意义 人脸识别&#xff08;Face Recognition&#xff09;是基于人的脸部特征信息进行身份识别的一种生物识别技术&#xff0c;可以用来确认用户身份。本文详细介绍了人脸识别基本的实现原理&#xff0c;并且基于python与pyqt开发了人脸识别与信息管理软件&#xff0c;主要…

Go第三方框架--gorm框架(一)

前言 orm模型简介 orm模型全称是Object-Relational Mapping&#xff0c;即对象关系映射。其实就是在原生sql基础之上进行更高程度的封装。方便程序员采用面向对象的方式来操作数据库&#xff0c;将表映射成对象。 这种映射带来几个好处&#xff1a; 代码简洁&#xff1a;不用…

AVL树介绍与构建

目录 AVL树的概念 二叉树的构建 平衡因子的更新 旋转 左单旋 旋转过程 左单旋代码 右单旋 旋转过程 右单旋代码 左右双旋 发生情况 抽象图 具体图 平衡因子更新 左右双旋代码 右左双旋 右左双旋旋代码 验证测试AVL树 测试成员函数 测试代码 AVL树实现代码…

使用virtualenv导入ssl模块找不到指定的模块

最近在学习tensorflow&#xff0c;由于教程里面使用的是virtualenv&#xff0c;所以就按照教程开始安装了虚拟环境。但是在使用的时候&#xff0c;卡在了import ssl这一步&#xff0c;提示如下错误 >>> import ssl Traceback (most recent call last):File "<…

兼容Lodash的真正替代者

大家好&#xff0c;我是农村程序员&#xff0c;独立开发者&#xff0c;前端之虎陈随易。 这是我的个人网站&#xff1a;https://chensuiyi.me&#xff0c;欢迎一起交朋友~ 今天给大家分享一个前端工具库 Lodash 的替代品 es-toolkit。 仓库地址&#xff1a;https://github.com…

Android 自定义 Dialog 实现列表 单选,多选,搜索

前言 在Android开发中&#xff0c;通过对话框让用户选择&#xff0c;筛选信息是很方便也很常见的操作。本文详细介绍了如何使用自定义 Dialog、RecyclerView 以及自定义搜索框 来实现选中状态和用户交互&#xff0c;文中大本分代码都有明确注释&#xff0c;主打一个简单明了&a…

A survey of loss functions for semantic segmentation——论文笔记

摘要 图像分割一直是一个活跃的研究领域&#xff0c;因为它有着广泛的应用范围&#xff0c;从自动疾病检测到自动驾驶汽车。过去五年中&#xff0c;各种论文提出了用于不同场景&#xff08;如数据偏斜、稀疏分割等&#xff09;的目标损失函数。在本文中&#xff0c;我们总结了…

NVR监测软件/设备EasyNVR多个NVR同时管理构建智慧城市的大数据解决方案

在当今的数字化时代&#xff0c;安防视频监控已成为各行各业不可或缺的一部分&#xff0c;无论是在智慧工地、智慧工厂、智慧景区还是智慧水利等领域&#xff0c;都需要高效、可靠的监控系统来保障安全。 一、背景需求分析 随着科技的发展&#xff0c;智慧城市建设成为城市发展…

★ 算法OJ题 ★ 前缀和算法(上)

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;将和大家一起做几道前缀和算法题 ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 算法专栏&#xff1a;★ 优选算法100天 ★_椎名澄嵐的博客-CSDN博客 ❄️❄️❄…

毕业设计选题:基于Django+Vue的物资配送管理系统的设计与实现

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录界面 管理员功能界面 申领者管理 后勤处管理 物资信息管理 入库信息管理 …

i春秋web题库——题目名称:SQLi

WEB——SQLi 写在之前&#xff1a;题目简介&#xff1a;题目分析&#xff1a; 写在之前&#xff1a; 本题在CSDN上或是其它博客上有过解答&#xff0c;只不过不知是什么原因&#xff0c;我没有找到解题过程比较完整的文章。于是我决定在CTF初学阶段写一篇这样的博客&#xff0…

ctfshow(78->81)--文件包含漏洞

Web78 源代码如下&#xff1a; if(isset($_GET[file])){$file $_GET[file];include($file); }else{highlight_file(__FILE__);代码审计&#xff1a; 使用 include() 进行文件包含&#xff0c;通过GET方法 传递参数file 获取被包含的文件。 思路&#xff1a; 利用 data://…

已解决:Uncaught SyntaxError: Unexpected token <

已解决&#xff1a;Uncaught SyntaxError: Unexpected token < 文章目录 写在前面问题描述报错原因分析 解决思路解决办法1. 使用开发者工具检查网络请求2. 验证脚本路径3. 检查服务器配置4. 处理跨域请求5. 检查打包工具配置6. 确认内容类型7. 使用原始文件进行测试8. 处理…

基于SpringBoot的电商网站源码(前台+后台)

主要功能流程&#xff1a; 前台购物&#xff1a;用户在前台进行商品浏览、选购及下单。个人中心查看&#xff1a;用户登录后可在个人中心查看订单状态、个人信息等。后台发货&#xff1a;管理员在后台系统处理订单&#xff0c;包括发货、退款等操作。 运行环境&#xff1a; …

iOS 18.2 可让欧盟用户删除App Store、Safari、信息、相机和照片应用

升级到 iOS 18.2 之后&#xff0c;欧盟的 iPhone 用户可以完全删除一些核心应用程序&#xff0c;包括 App Store、Safari、信息、相机和 Photos 。苹果在 8 月份表示&#xff0c;计划对其在欧盟的数字市场法案合规性进行更多修改&#xff0c;其中一项更新包括欧盟用户删除系统应…

张三进阶之路 | 基于Spring AOP的Log收集

前情提要 &#x1f4cc; 张三对于公司的日志处理系统不满意&#xff0c;认为其性能不佳且功能有限。为了展示自己的能力和技术实力&#xff0c;他决定利用Spring AOP&#xff08;面向切面编程&#xff09;开发一个更高效的日志处理系统&#xff0c;并将其存储在Redis中。 首先…