文件上传漏洞及upload-labs-master的搭建

前言:文件上传漏洞是指由于程序员在对用户文件上传部分控制不足或者处理有缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。

什么是webshell?
WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称之为一种网页后门,可以上传下载或者修改文件,操作数据库,执行任意命令等,以达到控制网站服务器的目的。

造成文件上传漏洞的原理和原理
原因:

1 对于上传文件的后缀名(扩展名)没有做较为严格的限制

2 对于上传文件的MIMETYPE(用于描述文件的类型的一种表述方法) 没有做检查

3 权限上没有对于上传的文件目录设置不可执行权限,(尤其是对于shebang类型的文件)

4 对于web server对于上传文件或者指定目录的行为没有做限制

原理:
在 WEB 中进行文件上传的原理是通过将表单设为 multipart/form-data,同时加入文件域,而后通过 HTTP 协议将文件内容发送到服务器,服务器端读取这个分段 (multipart) 的数据信息,并将其中的文件内容提取出来并保存的。通常,在进行文件保存的时候,服务器端会读取文件的原始文件名,并从这个原始文件名中得出文件的扩展名,而后随机为文件起一个文件名 ( 为了防止重复 ),并且加上原始文件的扩展名来保存到服务器上

文件上传的危害:

1.文件是一个webshell,可以任意执行系统命令
2.与后台数据库链接,任意执行数据库命令
3.把本服务器当作跳板,访问局域网内任意服务器
4.任意文件上传漏洞可能会让用户完全控制本机,直接获取登录权限。

文件上传漏洞防御:

  1. 检查文件上传路径 ( 避免 0x00 截断、 IIS6.0 文件夹解析漏洞、目录遍历 )
  2. 文件扩展名检测 ( 避免服务器以非图片的文件格式解析文件 )
  3. 文件 MIME验证 ( 比如 GIF 图片 MIME为 image/gif,CSS 文件的 MIME为 text/css 等 ) 3. 文件内容检测 ( 避免图片中插入 webshell)
  4. 图片二次渲染 ( 最变态的上传漏洞防御方式 , 基本上完全避免了文件上传漏洞 )
  5. 文件重命名 ( 如随机字符串或时间戳等方式 , 防止攻击者得到webshell 的路径 )

upload-labs-master的搭建

upload-labs是一个使用php语言编写的,专门收集渗透测试过程中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共19关,每一关都包含着不同上传方式。

可以在windowns上和linux上搭建,但是我在linux上遇到好多问题,所以我们用phpstudy老老实实的吧。
下载地址:https://github.com/c0ny1/upload-labs/releases
下载后解压放在phpstudy的默认目录上

http://127.0.0.1/upload-labs/
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值