【网络安全】文件上传漏洞

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析DNS,个人版 1个月
云解析 DNS,旗舰版 1个月
简介: 【网络安全】文件上传漏洞

一、文件上传漏洞基础

1、文件上传漏洞概述

1)文件上传漏洞

有文件上传就可以测试是否有漏洞,关键看代码是否完备。

2)漏洞危害

自定义网站后门,获取网站权限,属于高危漏洞。

3)如何查找判断

黑盒查找:不知道源代码情况下,通过目录扫描和网站应用,以及通过网站后台、会员中心进行获取权限,需要自己判断。

白盒查找:通过源代码分析文件上传漏洞。

判断:通过抓包分析

4)注意事项

文件上传的区分归类,是编辑器还是第三方应用,还是其它的,再进行后续测试

2、文件上传地址的获取

  1. 网站搜索关键词
  2. 网站的目录扫描:铸剑
  3. 针对网站进行搜索upload关键词
  4. 网站应用功能:上传头像、图片、会员中心、上传视频

3、本地(前端)上传漏洞

upload-labs靶场:https://github.com/c0ny1/upload-labs

GitCode镜像站点:https://gitcode.net/mirrors/c0ny1/upload-labs

upload-labs Pass-1

1)发现不允许上传php

2)查看源代码

发现是前端js验证 --> 下载源代码

3)修改form表单

注释js验证脚本

抓包,添加action属性

4)本地提交上传

二、后端绕过

1、文件上传的验证

1)后缀名

黑名单验证,白名单验证

后缀名是直接的验证,黑名单是不允许那些格式的文件上传,白名单是只允许那些格式的文件上传,相对来说安全一些。

2)文件类型:MIME信息

content-Type的内容:不同文件类型所对应的值也不同,如GIF文件对应:image/gif,如果检测的是mime,可以通过修改来绕过验证。

3)文件头:内容头信息

用记事本打开文件,会发现不同类型的文件的头部的值不同。

如果存在nginx解析漏洞(nginx1.x最新版,php7.x最新版),可以在文件的尾部添加PHP代码,然后访问:文件路径/1.php执行上传的文件。

2、黑名单

1).htaccess解析

搭建:php-5.2.17+Apache

.htaccess原理:Apache中间件实现自定义文件解析的配置文件

<FilesMatch "123">
SetHandler application/x-httpd-php
</FilesMatch>

创建.htaccess文件:如果文件匹配到相应文件(123.xxx),就会以PHP的文件类型去执行

  1. 上传.htaccess文件
  2. 上传123.jpg文件
  3. 访问123.jpg
  4. 123.jpg以php格式打开

2)大小写绕过

服务器没有大小写转换,并且win搭建 --> 文件名改为phP上传

3)点绕过

上传之前的2.phP文件并且抓包分析,将文件名的后缀添加一个.

原理:win下文件后缀名加上.,会强制自动清除掉,但是在数据包内可以修改,就可以绕过验证。服务器存储时会把空格自动清除掉,还原成可执行的PHP格式。

4)空格绕过

上传之前的2.phP文件并且抓包分析,将文件名的后缀添加一个空格。

原理:win下文件后缀名加上空格,会强制自动清除掉,但是在数据包内可以修改,就可以绕过验证。服务器存储时会把空格自动清除掉,还原成可执行的PHP格式。

5)::$DATA绕过

前提:windows下的PHP

原理:在window的时候如果"文件名+::$DATA"之后的数据当成文件流处理,不会被检测后缀名

6)配合解析漏洞

7)后缀双写

对于单次验证可以双写后缀:.phphpp --> .php

对于循环验证或者递归验证:无效

8)多后缀解析

利用.php3.php5.phtml解析绕过

前提:服务器开启了相应的解析

3、白名单

1)0x00截断

0x00是十六进制表示方法,是ascii码为0的字符,在有些函数处理时,会把这个字符当做结束符。这个可以用在对文件类型名的绕过上。

具体原理是 系统在对文件名的读取时,如果遇到0x00,就会认为读取已结束。

但要注意是文件的16进制内容里的00,而不是文件名中的00!就是说系统是按16进制读取文件(或者说二进制)

遇到ascii码为零的位置就停止,而这个ascii码为零的位置在16进制中是00,用0x开头表示16进制,也就是所说的0x00截断。

2)%00截断

%00是在URL地址方面的,%00为空格的URL编码。

%00是被服务器解码为0x00发挥了截断作用。

get方法在URL里面会自动的解码,而post不会解码

目录
相关文章
|
1天前
|
监控 安全 算法
数字堡垒之下:网络安全漏洞与加密技术的较量
【9月更文挑战第5天】在数字化时代的浪潮中,网络安全成为了保护信息资产的盾牌。本文将深入探讨网络安全的薄弱环节—漏洞,以及如何利用先进的加密技术来加固这面盾牌。从基础概念到实际操作,我们将一步步揭示如何在网络世界中构筑一道坚不可摧的防线。
|
1天前
|
SQL 安全 网络安全
网络安全的守护者:漏洞、加密与意识的三重奏
【9月更文挑战第5天】在数字时代的交响乐中,网络安全扮演着不可或缺的守护者角色。本文将带领读者穿梭于网络世界的安全缝隙,探索加密技术的奥秘,并唤醒每一位用户内心深处的安全意识。通过深入浅出的讲解和生动的案例分析,我们将一同见证如何构建一道坚不可摧的防线,保护我们的数据不受侵犯,确保个人信息的安全。
24 9
|
2天前
|
SQL 安全 算法
数字堡垒之下:网络安全漏洞、加密技术与安全意识的三维防线
在数字化浪潮汹涌澎湃的今天,网络安全已成为维系社会稳定、保护个人隐私的重要基石。本文将深入浅出地探讨网络安全中的三大关键领域:网络漏洞的识别与防范、加密技术的原理与应用以及提升公众的安全意识。通过这三个维度,我们旨在构建一个坚实的数字堡垒,以抵御日益猖獗的网络威胁,确保信息资产的安全与隐私。
17 5
|
1天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第5天】在数字化时代,网络安全和信息安全已成为全球关注的焦点。本文将探讨网络安全漏洞、加密技术和安全意识等方面的内容,以帮助读者更好地了解网络安全的重要性,并提高自己的网络安全防护能力。我们将通过分析网络安全漏洞的原因和影响,介绍加密技术的基本原理和应用,以及强调安全意识在防范网络攻击中的关键作用。最后,我们将提供一些实用的建议,帮助读者保护自己的网络安全。
|
20小时前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第6天】随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的基本概念,分析常见的网络安全漏洞,探讨加密技术在保护信息安全方面的作用,并强调提高个人和组织的安全意识的重要性。通过深入浅出的方式,帮助读者了解网络安全的基础知识,提升网络安全防护能力。
|
2天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第4天】在数字化时代,网络安全和信息安全已经成为了我们生活中不可或缺的一部分。然而,随着网络技术的不断发展,网络安全漏洞也越来越多,给我们的生活带来了诸多不便。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,提高自己的安全防护能力。
|
1天前
|
存储 安全 网络安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的探讨
【9月更文挑战第5天】云计算作为一种新兴的计算模式,已经在全球范围内得到了广泛的应用。然而,随着云计算的快速发展,网络安全问题也日益凸显。本文将从云服务、网络安全、信息安全等方面对云计算与网络安全进行探讨。
26 15
|
2天前
|
安全 算法 网络安全
网络安全与信息安全:漏洞、加密与安全意识的三重奏
【9月更文挑战第4天】在数字时代的交响乐中,网络安全与信息安全是不可或缺的乐章。本文将深入探讨网络安全的脆弱性,揭示那些隐藏在光鲜表面下的潜在风险。我们将一同穿梭于加密技术的迷宫,解锁保护数据的神秘钥匙。更重要的是,本文将点亮一盏灯,照亮培养个人和组织安全意识的道路。通过深入浅出的分析与生动的案例,我们将共同见证网络安全的复杂性、加密技术的力量以及安全意识的重要性。让我们携手,为这场数字交响乐谱写一曲无懈可击的安全篇章。
|
2天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第4天】在数字化时代,网络安全和信息安全已成为全球关注的焦点。本文将探讨网络安全漏洞、加密技术以及提升安全意识的重要性。我们将通过深入浅出的方式,解析网络安全的基础知识,并提供实用的代码示例,帮助读者更好地理解并应对网络安全挑战。
|
3天前
|
监控 安全 网络安全
云计算与网络安全的融合之路:探索云服务中的信息安全实践
【9月更文挑战第3天】在数字化转型的浪潮中,云计算已成为现代企业不可或缺的技术基石。然而,随着数据和应用逐渐迁移至云端,网络安全和信息安全的挑战亦随之升级。本文将深入探讨云计算环境下的网络安全挑战,并分享如何通过策略和技术手段加强云服务的安全防护,确保企业资产与数据的完整性、可用性和保密性。
17 5
下一篇
DDNS