首页 > 其他分享 >文件上传基础学习2

文件上传基础学习2

时间:2023-09-11 23:24:14浏览次数:42  
标签:文件 DATA 学习 ext file php 上传

文件上传基础学习2

三、靶场实操

5、.htaccess重写解析绕过上传(第四关)

.htaccess文件是在Apache Web服务器上进行配置的重要文件,它可以用于控制网站的许多方面,包括URL重写和上传文件的处理。攻击者可以尝试绕过文件上传限制,通过编写特定的.htaccess规则来执行恶意操作。

  • 该关卡是将所有的可执行后缀名都加入了黑名单了,利用htaccess重写解析绕过尝试一下

  • 准备一个图片码4.jpg

    <?php phpinfo();?>
    
  • 上传文件,然后访问图片,然后访问图片的地址,会出现无法解析的错误

  • 在上传一个.htaccess文件

    <FilesMatch "4.jpg">
    Sethandler application/x-httpd-php
    </FilesMatch>
    

    其中,4.jpg是我们刚上传的图片码,然后这个是文件是可以将4.jpg解析为php文件

  • 重新访问图片的地址,此时服务器会将该图片文件解析成php文件

6、. .进行绕过、upload第五关
  • 查看页面的源代码

    $file_name = trim($_FILES['upload_file']['name']);
    $file_name = deldot($file_name);//删除文件名末尾的点
    $file_ext = strrchr($file_name, '.');
    $file_ext = strtolower($file_ext); //转换为小写
    $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
    $file_ext = trim($file_ext); //首尾去空
    

    先将文件收尾去空一次,然后删除文件末尾的点,在接着对文件名去空一次

  • 上传一个phpinfo.php用burpsuite进行拦截,然后后缀名,修改为phpinfo.php. .

  • 上传成功后,对上传的文件进行访问

    • 在Windows环境下,浏览器(以及许多其他应用程序)会自动省略文件名中的末尾句点(.),这是因为Windows操作系统对文件名有一些特殊的处理规则
7、大小写绕过,upload第六关
  • 分析源代码

     $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");
    

    没有对php后缀名进行严格的过滤,存在大小写绕过

  • 上传phpinfo.PHP文件

    <?php phpinfo();?>
    
  • 可以成功上传,然后在行的标签页打开上传的文件

8、空格绕过
  • 查看页面的源码

    发现并没有过滤空格,此时可以试试在后缀名后面加一个空格

  • windows中文件的命名不能以空格结尾,所以用burpsuite工具来添加空格

  • 在新标签页中打开图像

9、利用windows系统特性,文件名后面加点。upload第8关

在Windows环境下,浏览器(以及许多其他应用程序)会自动省略文件名中的末尾句点(.),这是因为Windows操作系统对文件名有一些特殊的处理规则

  • 查看靶场源代码

    发现过滤规则中并没有删除文件末尾的点

  • 上传木马文件,并在文件后缀名加.

  • 访问上传文件,注意将后面的.删除

    未删除点

    删除点
10、利用::$DATA,Upload第九关

::$DATA 是一个用于存储 NTFS 文件系统中的备用数据流(Alternate Data Stream)的特殊名称。备用数据流是一种 NTFS 文件系统的功能,它允许文件除了默认数据流之外,还可以包含一个或多个附加数据流。这些附加数据流可以用来存储额外的信息,但通常不会像默认数据流那样被广泛使用。

  • 查看页面源码,并没有过滤::$DATA

  • 上传文件并用bp拦截,在文件后缀名后加::$DATA

  • 访问上传的文件,删除文件路径中文件名的::$DATA

标签:文件,DATA,学习,ext,file,php,上传
From: https://www.cnblogs.com/xiaoyi208/p/17694686.html

相关文章

  • vmware 虚拟机上实现host与guest文件及目录互相复制粘贴
    往期好文:统信UOS桌面操作系统上使用ventoy制作U盘启动盘hello,大家好啊,今天给大家带来一篇关于vmware虚拟机上实现host与guest文件及目录互相复制粘贴的文章。本次示例用到的虚拟化是vmwareworkstationpro17,host用的是windows11,guest用的是统信UOS桌面操作系统1060。本次的目标......
  • 系统编程 文件描述符重定向
    open打开一个文件,返回的是该文件文件描述符程序中用文件描述符表管理文件描述符 默认1024个【0-1023】0 1 2 被系统占用 0是标准输入,1是标准输出,2是标准错误#include<stdio.h>#include<unistd.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl......
  • 9.11 学习情况及课堂小测
    下午Java课堂学习学习Java学习或者编程学习的精义课堂小测importjava.util.Scanner;importjava.util.Random;publicclassMain{publicstaticvoidmain(String[]args){Randomradom=newRandom();for(inti=0;i<30;i++){intk=......
  • CS224W学习笔记
    目录CS224W学习笔记colab1colab2CS224W学习笔记colab1torch.ones全1torch.zeros全0torch.rand0-1随机x.shapeshapex.dtype数据类型zeros=torch.zeros(3,4,dtype=torch.float32)使用数据类型zeros=zeros.type(torch.long)改变数据类型使用torch进行梯度下降:......
  • 【学习笔记】虚树
    点击查看目录目录定义构造虚树二次排序+LCA连边单调栈虚树,不是虚数\(i\)。定义在树形dp等题目中,树中点很少,可以直接跑dp。但是如果很大但是我们只需要查询很少的一些点呢?我们称某次询问的点为【关键点】。我们看上图,只有左边子树的两个节点被查询了,那右边的子树有......
  • 一文了解机器学习中分类和回归的差异
    本文所有内容整理自网络。完整内容可以点击这里获取:完整资料下载地址前言分类和回归是数据挖掘和机器学习中常见的两个预测问题。分类算法分类算法是拟合一个模型或函数的过程,该模型或函数有助于将数据分为多个类别,即离散值。在分类中,根据输入中给定的一些参数,数据被分类到不同的标......
  • MySQL学习01
    一、数据库简介1、为什么需要数据库1、磁盘->高级缓存->寄存器->CPU数据存储在内存中,但是内存大小有限、不可能存储所有数据,并且掉电后数据丢失2、为了让程序在关机重启后数据依然可以使用,必须把数据保存在磁盘文件中3、随着程序功能越来越复杂、数据量越来越多、数据关系也......
  • stun 学习记录
    NAT网络拓扑NAT是将内网地址映射转换为外网地址的一种地址转换方式,这节省了有限的IP地址资源。一般来讲,分为对称型NAT和圆锥形NAT,其中圆锥形NAT又分为完全圆锥型NAT、IP限制圆锥型NAT、Port限制圆锥型NAT。1.完全圆锥型NAT完全圆锥型NAT是指同一个内网IP1+Port1向任何外网发送数据,......
  • openwrt配置hosts文件
    ssh登入openwrt后台vi/etc/hosts编辑hosts文件后保存最后重启服务生效/etc/init.d/dnsmasqrestart 二、或者登入web后台配置 ......
  • 零代码编程:用ChatGPT批量合并ts文件
    文件夹中有很多个ts后缀的视频文件,要合并成一个视频文件,在ChatGPT中可以这样输入提示词:你是一个Python编程专家,要完成一个批量合并ts文件的任务,具体步骤如下:打开文件夹:C:\Users\dell\Pictures\CameraRoll\index-f1-v1-a1_20230825221408\Part_0按照文件名称的顺序将文件夹中所有.t......