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

这篇具有很好参考价值的文章主要介绍了Web安全之文件上传漏洞详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

一、文件上传漏洞定义

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

二、上传漏洞危害

1.上传文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行。

2.上传文件是病毒或者木马时,主要用于诱骗用户或者管理员下载执行或者直接自动运行;

3.上传文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似);

4.上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行。

5.上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。

    除此之外,还有一些不常见的利用方法,比如将上传文件作为一个入口,溢出服务器的后台处理程序,如图片解析模块;或者上传一个合法的文本文件,其内容包含了PHP脚本,再通过"本地文件包含漏洞(Local File Include)"执行此脚本;等等。

三、上传漏洞满足条件

首先,上传的文件能够被Web容器解释执行。所以文件上传后所在的目录要是Web容器所覆盖到的路径。

其次,用户能够从Web上访问这个文件。如果文件上传了,但用户无法通过Web访问,或者无法得到Web容器解释这个脚本,那么也不能称之为漏洞。

最后,用户上传的文件若被安全检查、格式化、图片压缩等功能改变了内容,则也可能导致攻击不成功。

四、上传漏洞产生的原因

一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以上传的地方将恶意代码植入到服务器中,再通过url去访问以执行代码.

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

1.服务器配置不当

2.开源编辑器上传漏洞

3.本地文件上传限制被绕过

4.过滤不严或被绕过

5.文件解析漏洞导致文件执行

6.文件路径截断

五、上传漏洞的原理

大部分的网站和应用系统都有上传功能,一些文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过Web访问的目录上传任意PHP文件,并能够将这些文件传递给PHP解释器,就可以在远程服务器上执行任意PHP脚本。

当系统存在文件上传漏洞时攻击者可以将病毒,木马,WebShell,其他恶意脚本或者是包含了脚本的图片上传到服务器,这些文件将对攻击者后续攻击提供便利。根据具体漏洞的差异,此处上传的脚本可以是正常后缀的PHP,ASP以及JSP脚本,也可以是篡改后缀后的这几类脚本。

六、上传文件检测流程

通常一个文件以HTTP协议进行上传时,将以POST请求发送至Web服务器,Web服务器接收到请求并同意后,用户与Web服务器将建立连接,并传输数据。一般文件上传过程中将会经过如下几个检测步骤:

一般一个文件上传过程中的检测如下图红色标记部分:

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

  • 客户端javascript校验(一般只校验文件的扩展名)
  • 服务端校验
    • 文件头content-type字段校验(image/gif)
    • 文件内容头校验(GIF89a)
    • 目录路经检测(检测跟Path参数相关的内容)
    • 文件扩展名检测 (检测跟文件 extension 相关的内容)
    • 后缀名黑名单校验
    • 后缀名白名单校验
    • 自定义正则校验
  • WAF设备校验(根据不同的WAF产品而定)

七、上传漏洞绕过

1.客服端绕过

  (1)客户端校验:

 一般都是在网页上写一段javascript脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式。判断方式:在浏览加载文件,但还未点击上传按钮时便弹出对话框,内容如:只允许上传.jpg/.jpeg/.png后缀名的文件,而此时并没有发送数据包

(2)绕过方法:

 1.通过火狐插件NOscript插件或者禁用IE中JS脚本

 2.通过firbug插件元素审核修改代码(如删除onsubm:t=”return checkFile()”事件)

 3.通过firbug元素审核javascirpt脚本中添加上传文件类型。

 4.通过利用burp抓包改包,先上传一个gif类型的木马,然后通过burp将其改为asp/php/jsp后缀名即可

注意:这里修改文件名字后,请求头中的Content-Length的值也要改

演示如下:

fidder进行抓包拦截,先上传一句话图片木马如bd2.jpg,然后抓包拦截改成bd2.php

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

2.服务端绕过

(1)黑名单扩展名绕过


 黑名单检测:一般有个专门的 blacklist 文件,里面会包含常见的危险脚本文件。绕过方法:
(1)找黑名单扩展名的漏网之鱼 - 比如 iis6.0中的asa 和 cer

(2)可能存在大小写绕过漏洞 - 比如 aSp(iis6.0中可以) 和 pHp(只能在小于php5.3.39中的linux中) 之中

(3)能被WEB容器解析的文件其他扩展名列表:

  jsp, jspx ,jspf

  asp asa cer cdx,htr,xml,html

  aspx,ashx,asmx,asax,ascx

演示:php中的大小写解析只能在linux 环境才能执行:

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

这里不允许上传php那么可以上传大小写Php

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

(2)黑名单特殊后缀名绕过(利用难度高)

   将Burpsuite截获的数据包中backlion.php名字改为baclion.php4(php1,php2,php3,php4,php5),前提条件是http.conf中设置 AddType application/x-httpd-php .php1(php的版本小于等于5.3.29以下)

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

(3)配合操作系统文件命名规则绕过

    在windows系统下,如果文件名以“.”或者空格作为结尾,系统会自动删除“.”与空格,利用此特性也可以绕过黑名单验证。apache中可以利用点结尾和空格绕过,asp和aspx中可以用空格绕过

(a).上传不符合windows文件命名规则的文件名, 会被windows系统自动去掉不符合规则符号后面的内容:
  test.asp.

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析


  test.asp(空格)

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析


  test.php:1.jpg

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析


  test.php::$DATA

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析


(b). linux下后缀名大小写
在linux下,如果上传php不被解析,可以试试上传pHp后缀的文件名(前提条件是php版本小于等于5.3.29版本)

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

(4)单双重后缀名绕过

    上传时将Burpsuite截的数据包中文件名backlion.php(backlion.asa)改为backlion.pphphph(backlion.asasaa),那么过滤了第一个"php"字符串"后,开头的'p'和结尾的'hp'就组合又形成了php

(5)服务端MIME文件类型(Content-Type)绕过

MIME的作用:

    使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件。web服务器使用MIME来说明发送数据的种类, web客户端使用MIME来说明希望接收到的数据种类,它是服务器用来判断浏览器传递文件格式的重要标记项。

常用的文件上传类型的MIME表:

text/plain(纯文本)

text/html(HTML文档)

text/javascript(js代码)

application/xhtml+xml(XHTML文档)

image/gif(GIF图像)

image/jpeg(JPEG图像)

image/png(PNG图像)

video/mpeg(MPEG动画)

application/octet-stream(二进制数据)

application/pdf(PDF文档)

application/(编程语言) 该种语言的代码

application/msword(Microsoft Word文件)

message/rfc822(RFC 822形式)

multipart/alternative(HTML邮件的HTML形式和纯文本形式,相同内容使用不同形式表示)

application/x-www-form-urlencoded(POST方法提交的表单)

multipart/form-data(POST提交时伴随文件上传的表单)

绕过方法:

 上传对文件类型做了限制,可通过burpsuit将其他类文件类型修改为如:Content-Type:image/gif和image/jpeg等运行的文件类型

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

Web安全之文件上传漏洞详解,web安全,网络安全,安全架构,网络攻击模型,安全威胁分析

(6)配合文件包含文章来源地址https://www.toymoban.com/news/detail-636875.html

到了这里,关于Web安全之文件上传漏洞详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【网络安全】文件上传漏洞及中国蚁剑安装

    【网络安全】文件上传漏洞及中国蚁剑安装

    文件上传漏洞是指由于程序员未对上传的文件进行严格的验证和过滤,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。如常见的头像上传,图片上传,oa 办公文件上传,媒体上传,允许用户上传文件,如果过滤不严格,恶意用户利用文件上传漏洞,

    2024年02月04日
    浏览(12)
  • Web安全漏洞介绍及防御-文件上传漏洞

    Web安全漏洞介绍及防御-文件上传漏洞

    🐳博客主页:举杯同庆 – 生命不息,折腾不止 🌐订阅专栏:『Web安全』 📰如觉得博主文章写的不错,或对你有所帮助的话,请多多支持呀! 👉关注✨、点赞👍、收藏📂、评论。 话题讨论 中国经济周刊-2022-07-08 新闻 万豪国际集团证实了近期一起数据泄露事件,一个月

    2024年02月02日
    浏览(13)
  • 网络安全kali web安全 Kali之msf简单的漏洞利用

    网络安全kali web安全 Kali之msf简单的漏洞利用

    靶机的IP地址为:192.168.173.136 利用nmap工具扫描其开放端口、系统等 整理一下目标系统的相关信息 系统版本:Windows server 2003 开放的端口及服务: 从扫描出的端口发现,目标主机开启了135端口,服务为msrpc(远程过程调用服务),即Windows的RPC服务。 ​针对这个服务,我们就可

    2024年02月09日
    浏览(11)
  • 【网络安全 --- 任意文件上传漏洞靶场闯关 6-15关】任意文件上传漏洞靶场闯关,让你更深入了解文件上传漏洞以及绕过方式方法,思路技巧

    【网络安全 --- 任意文件上传漏洞靶场闯关 6-15关】任意文件上传漏洞靶场闯关,让你更深入了解文件上传漏洞以及绕过方式方法,思路技巧

      首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识 超详细的网络安全笔记 分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记​编辑https://m.tb.cn/h.5JdFcih?tk=OuVrWRl9vMx%20CZ3457 https://m.tb.cn/

    2024年02月07日
    浏览(13)
  • Web安全:文件上传漏洞测试(防止 黑客利用此漏洞.)

    Web安全:文件上传漏洞测试(防止 黑客利用此漏洞.)

    现在大多的网站和Web应用系统都会有上传功能(比如:文档,图片,头像,视频上传等.),而程序员在开发文件上传功能时,没有对代码做严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个与网站脚本语言相对应的恶意代码动态脚本,例如(php,jsp、aspx,asp文

    2024年02月11日
    浏览(15)
  • 23 WEB漏洞-文件上传之解析漏洞编辑器安全

    各个WEB编辑器安全讲解 https://navisec.it/编辑器漏洞手册/ 各个CMS文件上传简要讲解 wordpress,phpcms, 参考共享的中间件漏洞PDF IIS6/7简要说明-本地搭建 Apache配置安全–vulhub Apache解析漏洞-低版本 利用场景: 如果对方中间件apache属于低版本,我们可以利用文件上传,上传一个不识

    2024年02月11日
    浏览(17)
  • 《WEB安全漏洞30讲》(第5讲)任意文件上传漏洞

    《WEB安全漏洞30讲》(第5讲)任意文件上传漏洞

    文件上传漏洞,指攻击者利用程序缺陷绕过系统对文件的验证与处理策略将恶意程序上传到服务器并获得执行服务器端命令的能力。 这个漏洞其实非常简单,就是攻击者给服务器上传了恶意的木马程序,然后利用此木马程序执行操作系统命令,从而获得服务器权限,造成严重

    2024年02月12日
    浏览(12)
  • Web网络安全-----Log4j高危漏洞原理及修复

    Web网络安全-----Log4j高危漏洞原理及修复

    Web网络安全-----红蓝攻防之信息收集 Log4j 即 log for java(java的日志) ,是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;

    2024年02月10日
    浏览(15)
  • 网络安全-安全Web网关(SWG)详解

    网络安全-安全Web网关(SWG)详解

    在当今快速发展的网络环境中,企业面临着越来越多的网络安全挑战。安全Web网关(SWG)作为一种高效的网络安全解决方案,为企业提供了一个安全、可控的网络使用环境。 安全Web网关是一种网络安全设备或服务,主要功能是监控和管理用户的Web访问,以防止恶意软件入侵和

    2024年02月01日
    浏览(27)
  • 24 WEB漏洞-文件上传之WAF绕过及安全修复

    24 WEB漏洞-文件上传之WAF绕过及安全修复

    safedog BT(宝塔) XXX云盾 宝塔过滤的比安全狗厉害一些,在真实情况下现在很多网站都是用宝塔 Content-Disposition: 表单数据,一般可更改 name:表单参数值,不能更改,改完之后,数据包是有问题的,跟前端的表单值会对不上,这样后端会无法判断你上传的地方,如果要更改,那

    2024年02月10日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包