文件上传漏洞总结篇

文件上传漏洞总结

漏洞位于:只要能上传文件的地方皆有可能出现文件上传漏洞

寻找漏洞:寻找能上传文件的地方,文本编译器

攻击方法:任意文件上传,后缀大小写绕过,文件类型绕过,双写后缀名绕过,请求特殊后缀绕过,图片木马合并上传,文件00截断绕过,截断攻击%和&,web服务器环境配置寻找漏洞  例如:IIS6.0的解析漏洞

 

任意文件上传:

 

直接上传没有任何防御措施

 

 

后缀大小写绕过(成功概率很小,暂时没有成功过)

例子:shell.php 改为:shell.Php, shell.pHp, shell.PHP

文件类型绕过:

现在大部分都进行了文件类型判断,通过Content-type头判断

这里拿DVWA的中级防御来进行示范

 

 

Php代码:

 

 

 

直接上传百分百失败,先把1.php改为1.jpg。上传的时候用burpsuite截断,将1.jpg改为1.php

即可绕过此防御。

 

符合条件,所以上传成功。

 

 

 

 

双写后缀名绕过:

例子:shell.jpg 变为jspshell.jspsp

      Shell.jpg 变为 php shell.jphphp

      .........

 

双写后缀名绕过虽然可以上传成功但是,无法连接到菜刀,所有

只能用于恶意上传并不能获取服务器权限。

 

特殊后缀名上传:

将上传的文件的后缀名改为一些不常见的,

  1. 1.php 变为 1.vbs
  2. 1.php 变为 1.php0

 

此操作也不能获取服务器权限

 

图片马合并上传:

在特殊的一些服务器环境里或文件包含漏洞,可以使用

如:IIS6.0的解析漏洞

1)当建立*.asa,*.asp格式的文件夹时,其目录下的任意文件都会被IIS当做asp文件解析。

2)当上传的文件为*.asp;1.jpg时,IIS6.0同样以ASP脚本来执行。

3)实例:http://blog.sina.com.cn/s/blog_7fe448c70101ab7u.html

 

在挖掘到一个文件包含漏洞的时候,上传图片马。利用本地文件包含图片马

从而获取服务器权限。

实例:https://www.jianshu.com/p/0cc01ee0d247

 

文件0x00截断上传:

有些文件系统读到0x00的时候就不会在读,导致了截断。

例子:上传 shell.jsp0x00jpg,会把jpg后缀给过滤掉

导致shell.jsp上传(请求成功,但实际上无数据)

 

截断文件将20改为00

例子:将shell.php上传用burosuite抓包,改为shell.php +空格+shell.jpg=shell.php shell.jpg

Hex,找到文件名哪行的20改为00

例子:https://blog.csdn.net/yiyefangzhou24/article/details/8986281

 

 

文件上传漏洞测试手段:

 

 

 

 

一些常见的web配置环境所出现的漏洞:

IIs6.0:(这里的IIS环境有很多类似的漏洞记得百度)

4)IIS6.0:当建立*.asa,*.asp格式的文件夹时,其目录下的任意文件都会被IIS当做asp文件解析。

5)当上传的文件为*.asp;1.jpg时,IIS6.0同样以ASP脚本来执行。

Apache 1x2x:

apache遇见不认识的后缀名会从后向前解析,例如:1.php.rar。他不认识rar就向前解析,直到他认识的后缀名。

 

PHPCGINginx)(这个不是phpCGI独有的漏洞有时候在IIS也会出现):

当上传1.jpg之后。访问1.jpg/1.php。此时的1.jpg会被当做php来解析。

 

文件上传漏洞常见的防御手法:

1)前端JavaScript验证 (发现有只前端验证的话,手动写一个文件上传的htmlaction设置为判断文件即可。)例如:

检测上传文件的是:upload.php 但是服务端没做判断,前端做了判断。

<form action=’http://xx/upload.php’ method=’post’>

<input type=’file’ name=’file’ id=’file’><br>

<input type=’submit’ value=’提交’>

</form>

2)服务端检测(黑白名单验证,Content-Type判断) 上面已经说过如何绕过服务端验证。

 

黑名单检测绕过方法:如上

白名单检测方法:白名单并不能完全防御住,上传漏洞。可以通过web环境配置的缺陷与

其他漏洞一起利用。

 

 

 

文件上传防御方法:

服务端白名单防御。注意修复web环境带来的漏洞与其他漏洞。

posted on 2018-07-07 09:24  东京$  阅读(5135)  评论(0编辑  收藏  举报

导航