当前位置:   article > 正文

文件上传漏洞是什么?这么通俗易懂的讲解真的很难得!

文件上传漏洞是什么?这么通俗易懂的讲解真的很难得!

一、文件上传的定义和危害

1、什么是文件上传
(1)定义

文件上传漏洞是指用户上传了一个可以执行的脚本文件,并且可以通过该文件获得服务器的权限的一种漏洞。
在这里插入图片描述
(2)原理

网站Wb应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个Web可访问的目录上,并将恶意文件传递给如PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。还有一部分是攻击者通过Wb服务器的解析漏洞来突破Web应用程序的防护。

2、文件上传漏洞的危害
上传文件是病毒或木马时,主要用于诱骗用户或者管理员下载执行或者直接运行。

上传文件是Flash的策略文件crossdomain.xml时,黑客用于控制Flash在该域下的行为。

上传文件是钓鱼图片或者包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。

二、文件上传漏洞分类

在这里插入图片描述

1、客户端校验
js检查:随便上传一个文件看是否会有提示,只允许什么格式的文件进行上传。

2、黑名单绕过
(1)扩展名绕过

这个就很简单就是利用burp 抓包改包。

先对web上传一个含有木马的txt文本,通过抓包改成后缀名为jsp/php/asp后缀的文件,这就是客户端校验。

(2)后缀大小写绕过

后缀名会显示非法的时候,有时候可以尝试大小写进行绕过 例如:PhP、pHP等等

例如:

text.php
改为
text.Php
text.PhP…

(3)双层后缀绕过

web代码中会将可能存在漏洞的脚本文件后缀名进行过滤,大部分情况下只能过滤一层,所以可以尝试双写后缀名进行绕过

例如:

text.php
改为
text.pphphp

(4)空格绕过

这个要了解ur编码,文件上传过程中,有时候会遇到一些情况,正常的php脚本不可以绕过,但是后面加上一个空格即可绕过,所以利用这个特性,可以进行上传。

例如:

1.php
改为
1.php (这里有一个空格,为了更直观的看到我在这里备注一下)

(5)点绕过

这个要了解ur编码,文件上传过程中,有时候会遇到一些情况,正常的php脚本不可以绕过,但是后面加上一个点(.)即可绕过,所以利用这个特性,可以进行上传。

例如:

1.php
改为
1.php.(这里有一个空格,为了更直观的看到我在这里备注一下)

(6)上传.htaccess

.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,

以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

方法:直接上传这个文件,看是否可以获得权限。

(7)::$DATA绕过

在window的时候如果文件名+":声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】

推荐阅读
相关标签