8-文件上传漏洞

Posted jpga

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8-文件上传漏洞相关的知识,希望对你有一定的参考价值。

技术图片

 

文件上传流程:

1.client将一个文件以http协议上传

2.以post请求发送至Web服务器

3.Web服务器收到请求同意并响应

4. 用户与Web服务器建立连接传输数据

文件上传漏洞定义:

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。

漏洞产生:

1.服务器配置不当

2.开源编辑器上传漏洞

3.文件解析导致文件执行

4.过滤漏洞不言或者被绕过

5.文件上传限制被绕过

文件上传导致的危害/安全问题:

1.常见:

技术图片

 2.不常见:

技术图片


 完成攻击的条件

技术图片 

绕过文件上传

书中主要提到几种验证:

1.判断后缀验证文件

绕过方法:手动修改POST包,在文件名后添加%00截断函数判断

2.读取文件前xx(eg.10)字节判断文件类型

绕过方法:使用十六进制编辑工具(eg.010Editor)在正常文件头后插入php脚本代码

但是解析方式需要是php(文件后缀php,或者修改服务器解析文件方式例如将jpg按照php方式解析)

还有一些功能型漏洞巧妙利用:

1.Apache文件解析问题

技术图片

文件类型定义在Apache的mime.types文件中

2.IIS文件解析问题

2.1类似0x00字符截断文件名,将截断字符换为‘;’。

IIS6漏洞:文件夹扩展名出错,道中/*.asp/目录下所有文件都作为ASP文件进行解析

(eg.http://www.target.com/path/xyz.asp/abc.jpg中abc.jpg会当作ASP文件被解析)

技术图片

(eg.http://www.target.com/path/xyz.asp;abc.jpg只会执行xyz.asp不会管abc.jpg)

2.2支持Put功能 ->服务器配置不对

技术图片

 攻击流程:通过OPTION方法探测服务器支持的http方法类型->上传允许的文本文件->通过MOVE方法改写为脚本文件

技术图片

2.3 php cgi路径解析问题

技术图片

 3.利用上传文件钓鱼

技术图片

 技术图片

 安全防御

1.文件上传目录设置为不可执行

2.判断文件类型

MIME Type,后缀检查等方式

推荐白名单

使用随机数改写文件名和文件路径

单独设置文件服务器的域名

 

以上是关于8-文件上传漏洞的主要内容,如果未能解决你的问题,请参考以下文章

php代码审计8审计文件上传漏洞

文件上传解析漏洞

PHPOKCMS 4.9.015版本存在文件上传漏洞( CNVD-2018-17547)

PHPOKCMS 4.9.015版本存在文件上传漏洞( CNVD-2018-17547)

文件上传漏洞原理是啥?

什么是文件上传漏洞