Web应用安全之文件上传漏洞详解

什么是文件上传漏洞

文件上传漏洞是在用户上传了一个可执行的脚本文件,本通过此脚本文件获得了执行服务器端命令的功能,这种攻击方式是最为直接,最为有效的,有时候,几乎没有什么门槛,也就是任何人都可以进行这样的攻击。文件上传为什么会是漏洞呢?文件上传本身是没有问题的,问题是文件上传后看服务器怎么来处理,怎么来解析这个文件。如果说服务器处理的模式不够安全,那么就会导致严重的后果,也就是上传了恶意的可执行文件以后,服务器端对此文件进行执行。

文件上传后导致的安全问题

上传的文件是web脚本语言,服务器的web容器解释并执行了文件上传的web脚本,导致了代码的执行。另外,上传文件是flash的策略文件,黑客可以通过控制flash在该域下的行为,来进行其他攻击。上传文件是病毒,木马文件,那攻击者可以诱使文件中其他的人员下载执行。文件上传也有可能是钓鱼图片,或者包含了脚本文件的图片,在某些版本的浏览器中,这些脚本文件会被执行,可以用来做钓鱼攻击。除此以外,还有一些不常见的利用方法,比如将一个文件作为一个入口,溢出服务器的后台处理程序,如图片解析模块,或者上传一个合法的文件,其内容包含了php的代码,再通过文件包含,来执行这个脚本。

完成攻击的条件

在大多数情况下,文件上传漏洞一般是指上传web脚本能够被服务器解析的问题,也就是通常说的web shell的问题,要完成这个攻击,需要满足以下几个条件:

首先上传的文件能够被web容器解释执行,所以文件上传后的目录要是web容器所覆盖的路径。其次,web服务器能够访问这个文件,如果文件上传了,但用户无法通过web访问,那攻击者即使上传了这个文件也是访问不到这个文件的,这样的话,上传也就不能被利用。最后用户上传的文件被安全监测格式化,图片压缩等改变了内容,就有可能导致这个文件解析失败。

文件上传的场景

对网站熟悉的人都了解,比如我们要发布一个内容,而且是图文信息,那我可能会上传一些图片、附件。

如何利用上传

同样dvwa的环境

先构造一个文件 保存为脚本文件1.php输入内容如下:

<?php

phpinfo();

?>

先使用低安全级别,也就是没有防御看如何上传

Upload后可以看到1.php被成功上传,访问上传的目录位置

Web应用安全之文件上传漏洞详解

可以看到上传的脚本被执行,没有对文件后缀名做任何判断就直接接收了此文件,并且执行。

Web应用安全之文件上传漏洞详解

如果说上传的脚本是一个web shell后门,那我们就可以直接获取到服务器的控制权限,

低安全级别的实现,获取到文件以后,直接将这个文件移动到目录下,没有做任何判断。

Web应用安全之文件上传漏洞详解

中安全级别,这里做了一个简单的判断,只允许文件类型为jpeg上传,这样的过滤或处理虽然能达到一定的效果,比如,刚才的脚本就不能被上传。

Web应用安全之文件上传漏洞详解

再次上传1.php,我们可以看到没有反馈,文件上传失败。实际上这种防御方式是非常容易被绕过的,我么可以利用之前介绍的工具burpsuite,这个工具是一个代理抓包的工具,也就是我可以设置浏览器代理。浏览器在访问的时候,所有的数据请求都会通过这个工具,这个工具通过截断处理后再提交给web服务器,进而做出相应,这个时候,如果我在上传的时候还是1.php,但实际上,会先通过这个工具抓包截断,把我的文件头信息改成图片头信息,再进行提交。这个时候,我们就可以很轻易的绕过这个防御机制,进而达到上传的效果

Web应用安全之文件上传漏洞详解 

 

文章来源:麦子学院

原文链接:http://www.maiziedu.com/wiki/websafety/fileupload/

 

原文链接:https://www.cnblogs.com/maizi008/p/5985604.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18475

(0)
优速盾-小U的头像优速盾-小U
上一篇 2023年12月25日 14:03
下一篇 2023年12月25日 14:27

相关推荐

  • 初学者必备:SEO优化名词解释大全

    SEO初学者,我在这里是一而再,再而三的强调,基础是很重要的一门课堂,心急吃不了热豆腐,反而会把自己弄伤&#x…

    网站百科 2024年5月4日
    00508
  • 网站防黑客攻击准则

    安全是网站的重要组成部分。在当今互联网信息时代,网站建设是一件非常普遍的事情,黑客的攻击是无所不在。但是网络黑客对网站的攻击让很多企业头疼,所以网站的安全部分要多加注意。企业网站建…

    2024年5月5日
    00648
  • PL/SQL编程基础

    1.PL/SQL是一种块结构语言,意味着PL/SQL程序可以分为逻辑块。PL/SQL块由三个部分组成:定义部分、执行部分、异常处理部分。其中,定义部分用于定于常量、变量、游标、用户…

    网站百科 2025年6月18日
    00295
  • 阿里公共DNS

    DNS是网络的基础服务,网络上的各种应用对DNS的依赖性很高。DNS的稳定,直接决定了上层应用服务的稳定。那如何保障DNS服务的高可用呢?我们先来看下高可用的概念: 高可用 高可用…

    2024年1月31日
    00607
  • WEB前端-搜索引擎工作原理与SEO优化

    一、搜索引擎工作原理 搜索引擎的工作分为三个阶段,即爬行,索引和检索   1、爬行  搜索引擎具有网络爬虫或蜘蛛来执行爬网,每次抓取工具访问网页时,它都会复制该…

    2023年10月19日
    00556
  • 浅谈URL跳转与Webview安全

    学习信息安全技术的过程中,用开阔的眼光看待安全问题会得到不同的结论。   在一次测试中我用Burpsuite搜索了关键词url找到了某处url,测试一下发现waf拦截了指…

    网站百科 2023年7月4日
    001.2K
  • Dnsmasq加速本地DNS请求

        默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量…

    网站百科 2024年4月8日
    00586
  • WAF功能介绍(入门扫盲篇)

    做了略微的修改。 WAF全称叫Web Application Firewall,和传统防火墙的区别是,它是工作在应用层的防火墙,主要对web请求/响应进行防护。那么WAF有什么功能…

    网站百科 2023年10月2日
    00925
  • 企业网站搜索seo优化的实际策略!

    企业SEO是我们运营企业网站的重要途径。 从理论上讲,每家公司在创建之初就将重点放在搜索引擎营销上,并尝试通过搜索引擎获得排名和访问量。 因此,有时,我们有必要研究公司网站的SEO…

    网站百科 2023年8月8日
    00712
  • 什么是CDN

    一、cdn工作原理     内容分发网络(CDN)采用智能路由和流量管理技术,及时发现能够给访问者提供最快响应的加速节点,并将访问者的请求导向到该加速…

    网站百科 2025年6月18日
    00579

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml