【web安全】——文件上传漏洞

news2025/1/16 17:48:16
作者名:白昼安全
主页面链接: 主页传送门
创作初心: 舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷
座右铭: 不要让时代的悲哀成为你的悲哀
专研方向: web安全,后渗透技术
每日emo: 那种满的快要溢出来的喜欢,好像这辈子都不会有了

一、文件上传前缀知识

1、初识文件上传

文件上传漏洞可以说是日常渗透测试中用得最多的一个漏洞,用它获得服务器权限最快最直接。在Web程序中,经常需要用到文件上传的功能。如用户或者管理员上传图片,或者其它文件。如果没有限制上传类型或者限制不严格被绕过,就有可能造成文件上传漏洞。如果上传了可执行文件或者网页脚本,就会导致网站被控制甚至服务器沦陷。,复杂一点的情况是配合 Web Server的解析漏洞来获取控制权或结合文件包含漏洞。

在学习上传漏洞之前,我们要先学习一下关于文件上传的webshell工具。常用的webshell管理工具有菜刀,蚁剑,冰蝎等等,那么我们在详细的了解一下这些工具的使用。

2、webshell管理工具

[1]、菜刀

菜刀是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用菜刀来进行管理!在非简体中文环境下使用,自动切换到英文界面。UNICODE方式编译,支持多国语言输入显示。

[2]、蚁剑

AntSword是一个开放源代码,跨平台的网站管理工具,旨在满足渗透测试人员以及具有权限和/或授权的安全研究人员以及网站管理员的需求。

[3]、冰蝎

冰蝎”是一款动态二进制加密网站管理客户端

3、文件上传漏洞简介

当文件上传时,若服务端脚本语言未对上传的文件进行严格验证和过滤,若恶意用户上传恶意的脚本文件时,就有可能控制整个网站甚至是服务器,这就是文件上传漏洞。

[1]、文件上传的风险处

1、注册/修改个人信息处(如:上传头像等等)
2、敏感身份认证处(如:上传身份证图片/银行卡/个人图片等等)
3、订单评价处(如:上传商品照片等)
4、朋友圈/空间(如上传照片处)
5、所以能上传文件的操作处

[2]、漏洞的危害

(一)查看/上传/下载对方文件(可以任意的操控对方服务器)
(二)查看数据库信息(拖库)
(三)可以执行系统命令
(四)挂黑页
(五)一句话就是想干嘛干嘛。

4、漏洞利用方式

[1]、上传一句话木马+webshell工具

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

[2]、上传大马

[3]、小马

在利用文件上传漏洞时,先判断网站的开发语言(asp/php/jsp),还要找到上传的文件,利用前端或者抓包方式查看返回的路径(如果绝对路径直接访问,相对路径按经验进行URl地址拼接)。

二、文件上传基础绕过

1、前端检测绕过

前端就是经过javascript来进行验证,不和服务器进行交互,单纯以js代码来进行过滤,此时可以通过以下方法绕过

1、禁用js

2、f12删除代码中的限制性js语句

2、mime类型检测绕过

MIME多用途网络邮件扩展类型,可被称为Media type或Content type,它设定某种类型的文件当被浏览器打开的时候需要用什么样的应用程序,多用于HTTP通信和设定文档类型例如HTML。之所以叫多用途网络邮件扩展类型,因为它最早被用于电子邮件系统,后用于浏览器。

常见的类型有:

那么在我们抓包的时候,content-type里面的值,就是文件的mime类型,如果后台是根据这个来判断文件类型的,那么就存在mime类型的检测绕过。

即上传时抓包,将mine类型改为它没有过滤的类型,即可绕过验证

这里的绕过暂时就讲到这里了,因为绕过的方式很多,这篇博客的前缀知识加绕过姿势就有点多了,搜易过两天会重新出一篇博客,专门讲解文件上传的绕过方式

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

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

相关文章

【寒假第2天】LeetCode刷题

&#x1f308;一、选择题 &#x1f47f;第1题&#xff1a; 下面给出的四种排序法中( )排序法是不稳定性排序法A.插入排序 B.冒泡排序 C.归并排序 D.堆&#xff0c;希尔排序&#xff0c;快速排序 答案&#xff1a;D 为啥堆排序是不稳定的&am…

SCA 工具:开源安全威胁一手掌控

1、什么是 SCA SCA&#xff08;Software Composition Analysis&#xff09;软件成分分析&#xff0c;通俗的理解就是通过分析软件包含的一些信息和特征来实现对该软件的识别、管理、追踪的技术。我们知道在当今软件开发中&#xff0c;引入开源软件(注 1)到你的项目中&#xff…

线性DP-----(从某点走到某点求最值问题)

线性DP 线性dp问题是dp问题中比较简单的问题,通常一个状态转移方程就可以搞定,线性dp通常求最大值,最小值问题,下面介绍线性dp中从某点走到某点最值问题。 第一类问题(走一遍) 该类问题只走一遍,动态规划中用到的数组f(i,j)含义就是到达(i,j)点得到的最优解 例题1—数字三角形 …

分享88个JavaScript源码,总有一款适合您

JavaScript源码 分享88个JavaScript源码&#xff0c;总有一款适合您 JavaScript源码下载链接&#xff1a;https://pan.baidu.com/s/1guiYWOPKdP1zNW7T8P0caQ?pwd6666 提取码&#xff1a;6666 采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 下面是文件的名字&#xf…

jinja2 循环计数内置变量loop

变量内容loop.index循环迭代计数&#xff08;从1开始&#xff09;loop.index0循环迭代计数&#xff08;从0开始&#xff09;loop.revindex循环迭代倒序计数&#xff08;从len开始&#xff0c;到1结束&#xff09;loop.revindex0循环迭代倒序计数&#xff08;从len&#xff0d;1…

【正点原子FPGA连载】 第十八章双目OV5640摄像头HDMI显示实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第十八章双目OV5…

jsp题库管理系统Myeclipse开发sqlserver数据库web结构java编程计算机网页项目

一、源码特点 jsp 题库管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发&#xff0c;数据库为sqlserver&#xff0c;使…

Kafka集群安装

Apache kafka是由Apache软件基金会开发的一个开源流处理平台&#xff0c;由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;是消息中间件的一种&#xff0c;用于构建实时数据管道和流应用程序。Kafka官网&#xff1a;http://kafka.apache.org/安装环…

1-连续系统PID的Simulink仿真

以二阶线性传递函数。为被控对象&#xff0c;进行模拟PID控制。在信号发生器中选择正弦信号&#xff0c;仿真时取&#xff0c;&#xff0c;&#xff0c;输入指令为&#xff0c;其中A1.0,F0.20Hz。采用ODE45迭代方法&#xff0c;仿真时间为10s。PID控制器由Simulink下的工具箱提…

【Ansible】Ansible Jinja2 模板

Ansible Jinja2 模板 文章目录Ansible Jinja2 模板一、Ansible Jinja2 模板背景介绍二、JinJa2 模块1.JinJa2 是什么&#xff1f;2.Jinja2 必知会3.Jinja2 逻辑控制三、如何使用模板四、 实例演示一、Ansible Jinja2 模板背景介绍 目前 nginx 的配置文件在所有的服务器上都是相…

六种常见系统架构

六种常见系统架构 - 基础篇目录概述需求&#xff1a;设计思路实现思路分析1.URL管理2.微服务架构3.四、微服务架构4.多级缓存架构参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,m…

【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础&#xff0c;Unity官方的C#中级编程教程质量很高&#xff0c;于是开个帖子把跟着敲记录了部分价讲解和我自己的理解的代码存在这 原课程链接&#xff1a;添加链接描述 https://www.bilibili.com/video…

Java字符流(FileReader/FileWriter)

文章目录概念FileReader字符输入流相关方法和构造器FileWriter字符输出流相关方法和构造器为什么用完不close或flush&#xff0c;会写入不到数据&#xff1f;概念 在Java中&#xff0c;使用Unicode约定存储字符。字符流自动允许我们逐字符读/写数据&#xff0c;有助于执行16位…

2023年网络爬虫实训(第五天)

任务1&#xff1a;掌握re.match和re.search的用法,完成课堂代码.掌握基础通配符的用法如\w \s \d [] * ^ $.并完成作业4. 1.re.match() re.match&#xff08;&#xff09;的是从头匹配一个符合规则的字符串&#xff0c;从起始位置开始匹配&#xff0c;匹配成功返回一个对象&…

1.力扣刷题之二分查找

题目: 704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 思路 解题 左闭右闭 左闭右开 题目: 704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 思路 这道题首先要找出关键词:有序数组&#xff0c;元素不重复&#xff1b;这些都是使用二分法的前提条件&#x…

使用Stable Diffusion和Pokedex的描述生成神奇宝贝图片

还记得我们以前使用GAN、Clip、DALL-E生成神奇宝贝的文章吗&#xff0c;现在是时候使用Stable Diffusion了 在本文中&#xff0c;我将展示如何从神奇宝贝系列不同游戏中的Pokedex条目中获取神奇宝贝描述&#xff0c;并使用Stable Diffusion根据这些藐视生成图片&#xff0c;这样…

【基数排序】 C++高效实现

题目描述 给定你一个长度为 nnn 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行&#xff0c;第一行包含整数 nnn。 第二行包含 nnn 个整数&#xff08;所有整数均在 1∼1091 \sim 10^91∼109 范围内&…

Android架构演进 · 设计模式· 为什么建议你一定要学透设计模式?

“ 【小木箱成长营】设计模式系列文章(排期中)&#xff1a; Android 架构演进 设计模式 Android 常见的 4 种创建型设计模式(上) Android 架构演进 设计模式 Android 常见的 4 种创建型设计模式(下) Android 架构演进 设计模式 Android 常见的 6 种结构型设计模式(上) An…

vue2 中组件的生命周期

目录 一、组件的生命周期 1、什么是组件的生命周期&#xff1f; 2、生命周期的阶段划分&#xff1a; &#xff08;1&#xff09;创建阶段&#xff1a;beforeCreate、created、beforeMount、mounted ​&#xff08;2&#xff09;运行阶段&#xff1a;beforeUpdate、updatev…

【顺序表】数据结构,java代码实现

前言&#xff1a; 大家好&#xff0c;我是良辰丫&#x1f353;&#x1f353;&#x1f353;&#xff0c;顺序表和数组有什么区别呢&#xff0c;我们带着这个疑问去接触顺序表&#xff0c;学习顺序表相关知识。&#x1f680;&#x1f680;&#x1f680; &#x1f9d1;个人主页&am…