文件上传
文件上传漏洞原理
上传接口对于文件类型(通常是后缀名)检验存在疏漏导致的安全问题,一般表现在上传接口可使用某些方法绕过安全检验上传可动态解析的脚本文件,以达到任意代码的执行。一般来说,可解析的脚本文件是通过后缀名决定的,具体后缀名与服务器web应用的配置有关。
上传流程
- 客户端JavaScript检测(通常检测文件扩展名)
- 服务端MIME类型检测(检测Content-Type内容)
- 服务端目录路径检测(检测跟path参数相关的内容)
- 服务端文件扩展名检测(检测跟文件extension相关的内容)
- 服务端文件内容检测(检测内容是否合法或含有恶意代码)
一句话木马
例:
<?php @eval($_POST['hacker']);?>
文件上传绕过
- JavaScript验证突破
- 大小写突破
- 服务器文件扩展名检测
- 过滤文件名突破
- 特殊后缀名
- MIME类型检测
- 文件内容检测
- 分布式配置文件(文件重写)
- 0x00截断(目录路径检测)
(细节内容太多了,要写的话我可能会累死。。。)
(在我累die之前,希望看到你的关注)