首页 > 其他分享 >5.基础漏洞——文件上传漏洞

5.基础漏洞——文件上传漏洞

时间:2024-09-15 16:49:54浏览次数:10  
标签:文件 解析 漏洞 绕过 php 上传

目录

一.文件上传漏洞原理

二.文件上传漏洞条件:

三.上传限制手段分为两大类

(1)客户端校验

(2)服务端校验

四.具体实现

1.文件上传漏洞——绕过JS检测

2.文件上传漏洞——绕过MIME类型检测

3.文件上传漏洞——绕过黑名单检测

绕过方式:(1)

绕过方式:(2)

绕过方式:(3)

绕过方式:(4)

绕过方式:(5)

4.解析绕过

1)Apache解析漏洞 

2)IIS解析漏洞

3)Nginx解析漏洞

5.图片码绕过

五.文件上传漏洞的威胁

六.文件上传漏洞的防护

七.文件上传的绕过方法(总结)


一.文件上传漏洞原理

web应用在文件上传过程中没有进行过滤,或者是过滤不严格,攻击者通过上传webshell等恶意文件对服务进行攻击,导致服务器沦陷。

二.文件上传漏洞条件:

1.有上传文件的功能

2.上传文件的目录,能够解析脚本语言(否者,405)

3.能够访问到上传的文件

符合以上三点,就可能存在文件上传漏洞。

三.上传限制手段分为两大类

(1)客户端校验

客户端校验就是Javascript校验等:修改客户端代码/上传过程修改

(2)服务端校验

MIME类型(后缀):上传过程修改MIME类型

扩展名校验:特殊扩展名/截断上传/解析漏洞

文件内容:上传图片木马/代码混洗

四.具体实现

1.文件上传漏洞——绕过JS检测

2.文件上传漏洞——绕过MIME类型检测

请求行中的conTent-TYPE:

用bp截取数据包,修改concent-type。

3.文件上传漏洞——绕过黑名单检测

黑名单检测:一般有个专门的 blacklist 文件,里面会包含常见的危险脚本文件扩展名,如:php、asp、aspx;

绕过方式:(1)

使用大小写绕过(针对对大小写不敏感的系统如windows),如:PhP;

 流程

(1)上传正常的php文件,无法上传;

(2)将文件后缀.php修改为.Php;

(3)上传.Php文件,上传成功;

绕过方式:(2)

黑白名单绕过(php、php2.php3、php5、phtml、asp、aspx、ascx、ashx、cer、asa、jsp、jspx、cdx)

流程

(1)上传正常的php文件,无法上传;

(2)将文件后缀.php修改为黑名单中不存在的后缀

(3)文件上传成功;(上传成功了也不一定会执行,需要看服务器是否支持)

绕过方式:(3)

特殊文件名绕过(后缀加.或者空格)

修改数据包里的文件名改为test.php.或者test.php(有空格)

由于这种命名格式在windows系统里是不允许的。所以在绕过上传之后windows系统会自动去掉点和空格。 Unix/Linux系统没有这个特性

绕过方式:(4)

面试回问到,但其他时候一般没什么用,因为现在版本修复了

0x00截断绕过文件名后缀就一个%00字节,可以截断某些函数对文件名的判断。在许多语 言函数中,处理

字符串的函数中0x00被认为是终止符。

(1)上传正常的php文件,无法上传

(2)将文件后缀.php修改为.php.jpg上传,burp抓包16进制模式php后面添加00;

(3)文件,上传成功;

绕过方式:(5)

.htaccess文件攻击

修通过move uploadedfile函数把自己写的.htaccess文件覆盖掉服务器上的这样就可以解析定义名单了.

.htaccess文件用处:

通过.htaccess文件调用php解释器去解析一个文件名中只要包含“aa”这个字符串的任意文件,无论你文件名是什么样子,只要包含”aa”这个字符串,都可以被以php的方式来解析。

(1)上传正常的php文件,无法上传

(2)将文件修改为文件名带aa的,后缀随便,例:aa123.txt;

(3)文件,上传成功;

代码:

<FilesMatch"aa" >
 SetHandler application/x-httpd-php
 </FilesMatch>

4.解析绕过

1)Apache解析漏洞 

一个文件名为test. php.aaa. bbb.ccc的文件,Apache会从ccc的位置往php的位置开始尝试解析,如果ccc不属于Apache能解析的后缀名,那么 Apache就会尝试去解析bbb,这样一直往前尝试,直到遇到一个能解析的扩展名为止。

2)IIS解析漏洞

#1 IIS6.0

@1:新建一文件名字为:任意文件名.asp;   任意文件名jpg 此文件会当成脚本运行   (1.asa;1jpg,2.cdx;2.txt)

@2:新建一个文件夹,名字为任意文件名.asp;

  那么在这个文件夹里的内容全部会被当场脚本取运行。

@3:服务器配置错误(put 协议)

这里一般会和MOVE协议一起使用,先上传txt文件,在将txt文件修改为执行文件,php,aspaspx。移动并改名,但你要有他的原文件的路径

#2 IIS7.0,7.5

@1:正常路径:uploads/1jpg

@2:把php文件修改后缀为jpg进行上传

@3:黑客思路:uploads/1jpg/任意文件名.php 访问方式

@4:这个文件就会被当成脚本去执行。

3)Nginx解析漏洞

#1

@1:正常路径:uploads/1.jpg

@2:黑客思路:uploads/1.jpg/任意文件名.php 访问方式

#2 Nginx 0.5.* Nginx 0.6.* Nginx0.7

对低版本的Nginx可以在任意文件名后面添加%00.php进行解 析攻击。

正常路径:uploads/1jpg

黑客思路:uploads/1.jpg%00.php 当做正常脚本执行

#3 Nginx 0.8.41~1.4.3 ;1.5

在linux系统里,以上Nginx容器的版本下

正常路径:uploads/1jpg

黑客思路:uploads/1.jpg%20%00.php 当做正常脚本执行

5.图片码绕过

把代码文件和图片文件进行二进制编码合并形成新的图片,进行上传.注意2.php代码最前面需要有一个空格

cmd下执行:建议使用小图片

window和linux合层图片木马的命令

copy/b 1.jpg+2.php=3.jpg

五.文件上传漏洞的威胁

1.上传webshell,控制服务器,远程命令执行。

2.上传系统病毒,木马文件进行挖矿。

3.进行提权操作。

4.修改web页面,制作钓鱼网站,挂马。

5.进行内网渗透。

六.文件上传漏洞的防护

1.前端校验,后端校验。

2.对MIME类型进行检验。

3.创建黑白名单,进制执行文件上传。

4.隐藏上传的路径。

5.将上传的文件名更改。

七.文件上传的绕过方法(总结)

1.前端绕过

2.MIME类型绕过

3.后缀大小写绕过

4.00截断攻击

5.双写文件后缀绕过

标签:文件,解析,漏洞,绕过,php,上传
From: https://blog.csdn.net/2301_79096184/article/details/142285289

相关文章

  • 唯徳知识产权管理系统 UploadFileWordTemplate 任意文件读取
    0x01漏洞描述:唯徳于2014年成立,是专业提供企业、代理机构知识产权管理软件供应商,某公司凭借领先的技术实力和深厚的专利行业积累,产品自上市推广以来,已为1000多家企业及代理机构提供持续稳定的软件服务。其知识产权系统DownloadFileWord**存在任意文件读取漏洞0x02搜索语句:F......
  • 某景ERP管理系统 UploadInvtSpFile 任意文件上传
    0x01漏洞描述:某景ERP管理系统UploadInvtSpFile存在任意文件上传漏洞,允许攻击者上传恶意文件到服务器,可能导致远程代码执行、网站篡改或其他形式的攻击,严重威胁系统和数据安全。0x02搜索语句:FOFA:body="/api/DBRecord/getDBRecords"0x03漏洞复现:POST/api/cgInvtSp/Upl......
  • 商混erp系统多接口sql注入漏洞复现
    0x01漏洞描述:        商混ERP系统是一种针对混凝土行业开发的综合性企业资源规划(ERP)系统。它集成了生产、销售、采购、财务等各个方面的功能,为混凝土生产企业提供了一个全面、高效的数字化管理平台。在Operater_Action.aspx,StockreceiveEdit.aspx接口中存在sql注入,高......
  • 帝国cms生成静态文件怎么用
    在帝国CMS中生成静态文件的过程主要包括几个步骤:配置伪静态、生成静态文件以及配置服务器。下面详细介绍如何使用帝国CMS生成静态文件:1.开启伪静态功能伪静态可以让动态页面看起来像是静态页面,这对于SEO和用户体验都有好处。登录后台:首先登录帝国CMS的后台管理界面。进入系......
  • 帝国cms怎么上传图片
    在帝国CMS中上传图片可以通过多种方式实现,具体取决于你是想在文章中插入图片还是批量上传图片到服务器。下面是两种常见的上传图片的方法:1.在文章编辑时上传图片当你在撰写或编辑文章时,可以直接上传图片并插入到文章内容中:登录后台:登录帝国CMS的后台管理系统。进入文......
  • pkg-config 查找 .pc 文件
    pkg-config 在查找 glib-2.0 的 .pc 文件时,会遵循一定的路径规则。这些路径可以是默认的,也可以通过设置环境变量来指定额外的搜索路径。以下是 pkg-config 查找 .pc 文件的一般步骤:默认路径:pkg-config 会在一些标准目录下查找 .pc 文件,这些目录通常包括 /usr/lib......
  • 【webshell 检测工具】ShellSweep:一种 PowerShell/Python/Lua 工具,用于检测指定目录下
    原创Ots安全“ShellSweep”是一个PowerShell/Python/Lua工具,旨在检测指定目录中的潜在WebShell文件。ShellSheep及其工具套件会计算文件内容的熵,以估计文件成为WebShell的可能性。熵值越高,随机性就越强,这是WebShell中常见的加密或混淆代码的特征。它仅处理具有某些......
  • LIGGGHTS文件如何在paraview中打开?
            当使用LIGGGHTS进行计算时,会得到.lggghts的文件,而这种文件通常无法在paraview中直接打开。    此时,仅需要找到安装LIGGGHTS的lpp文件中lpp.py文件,便可以将其转化为.vtk格式,方便在paraview中打开。     找到其路径后,利用终端引导至计算案......
  • 《黑神话:悟空》游戏AkExpander.dll文件缺失,使用工具修复更快捷
    在Windows操作系统中,当遇到“黑神话:悟空”游戏中的AkExpander.dll文件丢失问题时,用户可能会经历游戏启动失败或运行中断的情况。这个DLL文件是游戏正常运行所必需的,缺失或损坏会导致关键功能无法执行,影响游戏体验。针对《黑神话:悟空》游戏中AkExpander.dll文件缺失的问题,您可......
  • 《黑神话:悟空》tbb12.dll文件丢失的修复策略,提升黑神话悟空游戏性能
    在使用Windows操作系统时,DLL文件的缺失或损坏是常见的技术问题之一。特别是在玩游戏如《黑神话:悟空》时,如果遇到tbb12.dll文件丢失,可能会导致游戏无法启动或游戏过程中出现错误。tbb12.dll是一个重要的系统文件,主要负责处理游戏中的并行任务和优化性能,因此其缺失会严重影响游戏......