Web基本漏洞【文件上传漏洞】

发布时间:2026/6/19 15:39:27
Web基本漏洞【文件上传漏洞】 目录一、文件上传漏洞介绍1.文件上传漏洞原理2.文件上传漏洞识别3. 攻击方式4.文件上传漏洞的危害5.文件上传漏洞的防御措施6.文件上传漏洞的绕过一、文件上传漏洞介绍1.文件上传漏洞原理文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马病毒恶意脚本或者 WebShell等。“文件上传”本身没有问题有问题的是文件上传后服务器怎么处理、解释文件。如果服 务器的处理逻辑做的不够安全则会导致严重的后果。2.文件上传漏洞识别有上传文件的功能例如传头像、附件等且对上传的文件没有过滤3. 攻击方式上传木马文件等恶意脚本文件4.文件上传漏洞的危害文件上传属于高危漏洞相比于SQL注入XSS风险更大其危害的是整个应用系统如果目标网站存在文件上传漏洞1如果攻击者上传的是Web脚本语言服务器的Web容器解释并执行了用户上传的脚本则会产生代码执行。2如果上传的是Flash的策略文件crossdomain.xml攻击者则可以控制Flash在该域下的行为。3如果上传的是病毒木马文件攻击者则可以诱骗用户下载并执行恶意文件。4如果上传了一个Webshell到服务器上那么整个应用服务器则可能被攻击者进行控制或致使系统完全崩溃。5.文件上传漏洞的防御措施文件上传漏洞防御系统运行时的防御文件上传的目录权限设置为不可执行。只要web容器无法解析该目录下面的文件即使攻击者上传了脚本文件服务器本身也不会受到影响。文件扩展名使用白名单机制判断。在判断文件类型时使用白名单方式黑名单的方式已经无数次被证明是不可靠的。此外对于图片的处理可以使用压缩函数或者resize函数在处理图片的同时破坏图片中可能包含的HTML代码。使用随机数改写文件名和文件路径。文件上传如果要执行代码则需要用户能够访问到这个文件。如果应用了随机数改写了文件名和路径将极大地增加攻击的成本。再来就是像shell.php.rar.rar和crossdomain.xml这种文件都将因为重命名而无法攻击。单独设置文件服务器的域名。由于浏览器同源策略的关系一系列客户端攻击将失效比如上传crossdomain.xml、上传包含Javascript的XSS利用等问题将得到解决。使用安全设备防御。文件上传攻击的本质就是将恶意文件或者脚本上传到服务器专业的安全设备防御此类漏洞主要是通过对漏洞的上传利用行为和恶意文件的上传过程进行检测。恶意文件千变万化隐藏手法也不断推陈出新对普通的系统管理员来说可以通过部署安全设备来帮助防御。6.文件上传漏洞的绕过客户端层面绕过如果是JavaScript检测那么禁止JS或者Burp代理工具抓包修改参数服务端层面绕过1Content-Type字段绕过MIME类型检测绕过使用Burp代理工具修改Content-Type绕过2服务端path参数检测3服务端文件扩展名检测绕过文件名大小写绕过PhPAsp等后缀名字双写嵌套phphppasaspp等利用系统对一些特殊文件名做默认修改的系统特性绕过.htaccess文件可以利用asp程序中的漏洞使用截断字符绕过利用不在黑名单中但可以执行的扩展名绕过php3php4利用解析/包含漏洞配合上传一个代码注入 的白名单进行绕过4服务端内容检测层面绕过绕过原理通过在文件中添加正常文件的标识或其他关键字符绕过