您的位置:首页 > 理论基础 > 计算机网络

网络攻击与防御之文件上传漏洞

2020-04-20 17:23 627 查看

一、文件上传漏洞

1.1 概述

​ 文件上传漏洞是指由于程序员未对上传的文件进行严格的验证和过滤,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

1.2 准备阶段

  1. 安装虚拟机
    VMware Workstation Pro
    ,虚拟机上安装靶机OWASP Broken Web Applications和攻击机Kali Linux
  2. 使用的软件:中国菜刀burpsuite

使用木马

shell1.php

<?php @eval($_POST['chopper']);?>

1.3 选择攻击网页

  1. 进入
    OWASPBWA
    提供的网站
    在进入
    OWASPBWA
    系统后,会提供给用户和一个PI地址(网址)。将其复制到自己的浏览上。
  1. 找到Damn Vulnerable Web Application并进入,登陆账户和密码形同,都为:madin

登陆成功的页面:

1.4 攻击过程

1.4.1 安全级别

查看源码:

  1. 初级

只是简单的文件上传操作,没有对上传的文件进行任何的要求和规范。

if(!move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_path))

  1. 中级

    对文件的MIME和大小进行要求。

    if (($uploaded_type == "image/jpeg") && ($uploaded_size < 100000))

  2. 高级

    对文件的文件后缀名及后缀进行要求

    if (($uploaded_ext == "jpg" || $uploaded_ext == "JPG" || $uploaded_ext == "jpeg" || $uploaded_ext == "JPEG") && ($uploaded_size < 100000))

1.4.2攻击过程

  1. 初级

    在初级安全模式下上传

    shell1.php
    并得到其地址(在其网站后面加上文件路径:http://192.168.159.129/dvwa/hackable/uploads/shell1.php),把此地址复制到中国菜刀上,通过此软件可直接访问到网站主机,并且可以对主机上的资源随意进行下载和删除。

  2. 中级

    首先需要Kali上的burpsuite开启代理服务器并开启代理拦截功能,选择文件并上传

    shell1.php
    ,后在burpsuite上的拦截页面更改上传文件MIME的类型为
    "image/jpeg"
    。之后操作和在初级安全模式下相同。可以对主机上的资源随意进行下载和删除。

  3. 高级

    和中级安全模式类似,更改上传文件后缀名为

    “jpg”
    。但是只能通过中国菜刀浏览网站主机的部分资源文件且不能下载和删除。

1.5防御办法

  1. 检测上传文件后缀

  2. 在前端部署

    WB
    应用防火墙,检测文件内是否存在
    "eval($_POST"
    等这些标记

  3. 直接检查网站目录内是否含有

    "eval($_POST"
    关键字。

    检查命令:

    fgrep -R'eval($_POST' /var/www/dvwa

  • 点赞
  • 收藏
  • 分享
  • 文章举报
去留意 发布了9 篇原创文章 · 获赞 1 · 访问量 78 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: