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

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

一、文件上传漏洞基础

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不会解码

目录
相关文章
|
5天前
|
SQL 安全 算法
网络防御前线:洞悉漏洞、加固加密与提升安全意识
【4月更文挑战第8天】在数字化时代,网络安全与信息安全已成为维系信息社会正常运转的关键。本文从网络安全的漏洞发现、加密技术的应用以及提高个人和组织的安全意识三个维度出发,深入探讨了如何构建更为坚固的网络防御体系。通过对现有网络安全威胁的分析,我们揭示了漏洞挖掘的重要性,并介绍了当前流行的加密技术及其在保护数据完整性和隐私中的作用。同时,文章还强调了培养良好的安全习惯对预防潜在攻击的重要性。本文旨在为读者提供全面的网络安全知识框架,以便更好地应对日益复杂的网络威胁环境。
|
6天前
|
安全 算法 网络安全
网络防御的三重奏:漏洞管理、加密技术与安全意识
【4月更文挑战第7天】在数字化时代,网络安全和信息安全已成为企业和个人不可忽视的战场。本文将深入探讨网络安全的核心问题——漏洞管理,介绍现代加密技术的进展,并强调提升安全意识的重要性。通过分析网络攻击的常见手段,我们揭示了有效管理漏洞的策略;同时,评估了从对称加密到非对称加密,再到量子加密的技术演进。最后,文章指出,在技术和工具不断进步的同时,用户的安全意识仍是防御体系中不可或缺的一环。
|
1天前
|
安全 算法 网络协议
保障数据安全:网络安全漏洞与加密技术探析
网络安全漏洞的存在已成为当今互联网世界中的一大隐患,而加密技术的应用则被视为保障信息安全的有效手段。本文将就网络安全漏洞的成因、加密技术的原理以及提升安全意识的重要性进行探讨,旨在加深读者对网络安全与信息安全的认识,为构建更安全的网络环境贡献一份力量。
10 2
|
5天前
|
监控 安全 算法
网络安全与信息安全:防范漏洞、强化加密、提升意识
【4月更文挑战第8天】在数字化时代,网络安全与信息安全已成为全球关注的焦点。本文将深入探讨网络安全中的漏洞问题、加密技术的发展以及安全意识的重要性。通过对这些关键领域的分析,旨在为读者提供全面的安全防护策略和实践建议,以应对日益复杂的网络威胁。
|
12天前
|
SQL 安全 网络安全
网络防线之盾:揭秘网络安全漏洞与防御技术
在数字化时代,网络安全成为守护信息完整性、保障用户隐私的关键。本文深入探讨了网络安全领域内常见的安全漏洞,分析了加密技术在数据保护中的作用,并强调了提升个人和企业安全意识的重要性。通过实例和案例分析,文章为读者提供了一道了解和应对网络威胁的窗口,同时指出了未来网络安全发展的趋势和挑战。
14 2
|
15天前
|
安全 网络安全 数据安全/隐私保护
探究网络安全漏洞与加密技术:保护信息安全的关键
在当今数字化时代,网络安全漏洞已成为信息安全的重要挑战之一。本文将深入探讨网络安全漏洞、加密技术以及安全意识对于信息安全的重要性,旨在引起人们对网络安全问题的关注,提升信息安全意识。
11 3
|
15天前
|
存储 安全 网络安全
探究网络安全与信息安全:漏洞、加密与安全意识
在当今数字化时代,网络安全和信息安全日益受到重视。本文将深入探讨网络安全漏洞、加密技术以及安全意识等方面的知识,帮助读者更好地了解和应对网络安全挑战。通过分析现有漏洞、介绍加密技术原理以及强调安全意识的重要性,旨在提升读者对网络安全的认识和应对能力。
10 0
|
17天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:防范漏洞、强化加密、提升意识
随着互联网的普及和技术的飞速发展,网络安全和信息安全问题日益凸显。本文将探讨网络安全漏洞的形成原因、加密技术的应用以及提升安全意识的重要性,以期为读者提供关于网络安全与信息安全的知识分享。
11 2
|
18天前
|
安全 网络安全 区块链
网络安全与信息安全:漏洞、加密技术与安全意识
在当今数字化时代,网络安全和信息安全已经成为人们关注的焦点。本文将深入探讨网络安全漏洞、加密技术以及安全意识等方面的知识,并提出相应的解决方案,以增强读者对网络安全和信息安全的认识。
8 0
|
19天前
|
存储 安全 网络安全
网络安全与信息安全:防范漏洞、应用加密技术与提升安全意识
在数字化时代,网络安全与信息安全已成为维护网络空间稳定的重要基石。本文将深入探讨网络安全中的关键问题——漏洞挖掘与利用,分析加密技术在信息保护中的核心作用,并强调提升个人与企业的安全意识的重要性。文章将提供对当前网络威胁的全面剖析,介绍前沿的防御策略,并分享如何构建一个多层次、全方位的安全防线。