靶场科普 | 文件上传之条件竞争

发表时间:2022-04-04 17:00

本文由“东塔网络安全学院”总结归纳


靶场介绍:

文件上传之条件竞争


今天,给大家介绍一下“东塔攻防世界”其中的一个靶场:“文件上传之条件竞争”。


一、实验介绍

1. 文件上传漏洞简介

在文件上传的功能处,若服务端脚本语言未对上传的文件进行严格验证和过滤,导致恶意用户上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,这就是文件上传漏洞。
文件上传漏洞对Web应用来说是一种非常严重的漏洞。一般情况下,Web应用都会允许用户上传一些文件,如头像、附件等信息,如果Web应用没有对用户上传的文件进行有效的检查过滤,那么恶意用户就会上传一句话木马等Webshell,从而达到控制Web网站的目的


2. 文件上传漏洞高危点

相册、头像上传;视频、照片分享;附件上传(论坛发帖、邮箱);文件管理器

3. 文件上传校验方法

1)、客户端

2)、服务端:

检查后缀(白黑名单绕过、特殊扩展名、大小写、0x00截断、.htaccess等);

检查内容(文件头、图片马等);其他

4. 条件竞争:

发生在多个线程同时访问同一个共享代码、变量、文件等没有进行锁操作或者同步操作的场景中。也就是我们成功上传了php文件但后端在短时间内将其删除了,所以我们要抢到在它删除之前访问文件,就如我们打开文件的时候去删除它,会提示文件文件已打开一样,这样从而防止文件被删除。


二、实验目的

1. 掌握文件上传的功能和原理

2. 理解上传webshell的流程和原理

3. 理解条件竞争的原理


三、实验步骤

1. 打开实验环境,了解文件上传漏洞的原理

2. 进行文件上传,抓包分析数据包,选择相应的绕过方法实现上传webshell

3. 用蚁剑尝试连接,拿下权限


四、防御方式

1. 对上传的文件在服务器上存储时进行重命名
2. 禁止上传危险的文件类型,如jsp jar war等
3. 只接收指定类型的文件
4. 上传文件做日志记录