关于文件上传漏洞介绍
文件上传漏洞
1.WebShell与WebShell管理工具
webshell简称网页后门,简单来说它是运行在web应用之上的远程控制程序
webshell其实就是一张网页,由PHP,JSP,ASP,ASP.NET等这类web应用程序语言开发,但webshell并不具备常见的网页功能,例如登录,注册,信息展示等功能,一般具备文件管理,端口扫描,提权,获取系统信息等功能。拥有较完整功能的webshell,我们一般称为大马。功能简易的webshell称为小马。除此之外还存在一句话木马,菜刀马,脱库马等等的名词,是对于webshell功能或特性的简称。
常用的一句话木马:
PHP:<?php @eval($_POST["x"];?>
2.文件上传漏洞概述
文件上传的功能是将本地文件上传至服务器上进行保存
假设文件上传功能没有对上传的文件进行限制,可能会引发哪些安全风险??
如果对方是LAMP架构,是否能上传PHP的webshell到服务端上,然后通过访问上传后的文件地址,从而执行webshell中的代码。
文件上传漏洞:指文件上传功能没有对上传的文件做合理严谨的过滤,导致用户可利用此功能,上传能被服务端解析执行的文件,并通过此文件获得执行服务端命令的能力。
3.文件上传验证流程
4.文件上传漏洞防御
服务端文件扩展名使用白名单检测+文件名重命名
对文件内容进行检测
对中间件做安全配置