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

Posted XxSec

tags:

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

文件上传漏洞是指用户上传了一个可执行的脚步文件,并通过此脚本文件获得了执行服务器端命令的能力,这种攻击方式是最直接和有效的,文件上传本身是没问题的,有问题的是文件上传后,服务器怎么处理,解释文件,通过服务器的处理逻辑做的不够安全,则会导致严重后果


漏洞条件:文件可上传——知道文件上传路径——上传文件可以被访问——上传文件可以被执行

文件上传可控点:
Content-Length,即上传内容大小
MAX_FILE-SIZE,即上传内容的最大长度
filename,即上传文件名
Content-Type,即上传文件类型
请求包中的乱码字段,即是所上传文件的内容,有可能存在请求包中的可控点还有上传路径

挖掘思路:上传点都调用同一个上传类,直接全局搜索上传函数,黑盒直接寻找上传点,代码定位

代码案例:
name:客户端的原始上传文件名称
Type:上传文件的MIME类型
Tmp_name:服务器端用来保存上传文件的临时文件路径
Error:上传文件时的错误信息
Size:上传文件的大小


文件上传绕过-服务端:
黑白名单过滤
修改mime类型
截断上传攻击
.htaccess文件攻击
目录验证

修复方案:
检测文件上传内容(黑白名单验证,检测文件扩展名是否合法,mime验证,检测文件的mime类型)
限制文件大小
更改临时文件的路径
读取上传文件的绝对路径,与文件名称
隐藏文件路径
做死权限,不让目录有执行权限

 

友情链接 http://www.cnblogs.com/klionsec

               http://www.feiyusafe.cn

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

2020/1/30 PHP代码审计之文件上传漏洞

PHP代码审计学习——文件上传

1-PHP代码审计——PHPCMSV9.2上传文件漏洞

21-PHP代码审计——jizhicms1.9.5文件上传漏洞

21-PHP代码审计——jizhicms1.9.5文件上传漏洞

代码审计VAuditDemo 文件包含漏洞