文件上传漏洞介绍
由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上传可执行的动态脚本
文件长传漏洞的原因
- 对于上传文件的后缀名(扩展名)没有做较为严格的限制
- 对于上传文件的MIMETYPE(content-type)没有做检查
- 权限上没有对上传的文件目录设置不可执行的权限
- web server对于上传文件或者指定目录的行为没有做限制
上传漏洞的危害
- 上Web木马文件,控制Web服务器文件、远程命令执行等
- 上传系统病毒、木马文件进行挖矿、僵尸网络
- 上传系统溢出程序进行权限提升
- 修改Web页面实现钓鱼、挂马、暗链等操作
- 内网渗透
- 在权限得到提升的情况下,想做什么就做什么
文件上传合法性检测方法
- 前端Js验证——利用BurpSuite抓包 删除Js 或者 删除check
- MIME类型验证——修改content-type
- 黑名单/白名单——利用windows特性
- 检查文件内容
- 使用安全的Web服务
- apache解析漏洞
从后往前识别 aa.php.rr 识别为aa.php
对上传包进行以下修改:在1.php后添加\x0a,成功上传
-
IIS6.0解析漏洞
目录解析漏洞 加空格
以*.asp命名的文件夹里的文件都将会被当成ASP文件执行
文件解析漏洞
*.asp;.jpg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 *.asp文件执行
IIS6.0 默认的可执行文件除了asp还包含这三种 *.asa *.cer *.cdx -
IIS7.5、Nginx解析漏洞
在一个文件路径 (/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件