首页 > 其他分享 >文件上传之黑名单检测

文件上传之黑名单检测

时间:2024-12-15 10:32:02浏览次数:6  
标签:文件 检测 黑名单 post php 上传 绕过 DATA

一般情况下,代码文件里会有一个数组或者列表,该数组或者列表里会包含一些非法的字符或者字符串,当数据包中含有符合该列表的字符串时,即认定该数据包是非法的。

一.如何判断是否为黑名单检测

黑名单是有限的,可以随意构造一个文件后缀,如果可以上传,则说明是黑名单检测,反之,为白名单检测。

  1. 上传一个php后缀的文件,比如1.php,发现不允许上传
  2. 随意构造一个文件后缀,比如将1.php改为1.aaa发现可以上传,说明是基于黑名单检测

二.绕过技巧

  • 后缀双写绕过
  • 后缀大小写绕过
  • 其它可解析后缀绕过
  • 图片+配置文件绕过
  • 。。。
1.后缀双写绕过

靶场:http://127.0.0.1/upload-labs-master/Pass-11/index.php

  • 介绍:有些网站代码中,会将文件后缀符合黑名单列表的字符串替换为空。比如上传“index.php”变为“index”。​

  • 绕过流程:

    1. 打开bp抓上传文件的数据包,比如上传"post.php"

    2. 将"post.php"修改为"post.pphphp"​

    3. 修改完放包,即可成功上传。

2.后缀大小写绕过

靶场:http://127.0.0.1/upload-labs-master/Pass-06/index.php

  • 介绍:主要是利用windows对大小写不敏感进行绕过。

    • Windows:对大小写不敏感
    • Linux:对大小写敏感
  • 绕过流程:

    1. 打开bp抓上传文件的数据包,比如上传"post.php"

    2. 将"post.php"修改为"post.pHP"


    3. 修改完放包,即可成功上传。

3.图片+配置文件绕过

.htaccess 文件(或者“分布式配置文件”),全称是HypertextAccess(超文本入口)。提供了针对目录改变配置的方法。它里面可
以存放Apache服务器配置相关的指令。

靶场:http://127.0.0.1/upload-labs-master/Pass-04/index.php

  • 介绍:通过一个.htaccess​文件调用 php 的解析器去解析一个文件名中只要包含"as.png"这个字符串的任意文件,所以无论文件名是什么样子,只要包含"as.png"这个字符串,都可以被以 php 的方式来解析,一个自定的.htaccess​文件就可以以各种各样的方式去绕过很多上传验证机制。

  • 绕过流程:

    1. 先上传.htaccess​文件,内容如下:

      SetHandler application/x-httpd-php
      #将符合特定规则的文件当作 PHP 脚本文件,调用 PHP 解释器来处理
      AddType application/x-httpd-php jpg
      ##将.jpg文件当作 PHP 脚本文件,调用 PHP 解释器来处理
      
    2. 再上传一句话木马"post.txt​"或"post.jpg​"

4.其它可解析后缀绕过

靶场:http://127.0.0.1/upload-labs-master/Pass-03/index.php

  • ​::$DATA​:

    在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,它的目的就是不检查后缀名。

    例如:"phpinfo.php::$DATA" Windows会自动去掉末尾的::$DATA变成"phpinfo.php"

    双写::$DATA​:

    • 介绍:有的网站代码会去除字符串中的::$DATA​,所以需要双写::$DATA​进行绕过。​

    • 绕过流程:

      1. 打开bp抓上传文件的数据包,比如上传"post.php"

      2. 将"post.php​"修改为"post.php::$DA::$DATATA​"


      3. 修改完放包,即可成功上传。

标签:文件,检测,黑名单,post,php,上传,绕过,DATA
From: https://blog.csdn.net/qq_37107430/article/details/144483186

相关文章

  • 上传文件能使用GET请求吗?为什么?
    在前端开发中,上传文件通常不使用GET请求,而是使用POST或PUT请求。这是因为GET请求和POST/PUT请求在语义和设计目的上存在根本的区别。以下是几个关键原因:请求方法的语义:GET请求:主要用于从服务器获取数据,而不是发送数据。GET请求通常不包含请求体(body),即使有请求体,大多数服务器......
  • 如何使用YOLOv8来训练变压器红外测温过热点检测图像数据集_变压器红外数据集-热点检测
    变压器红外测温过热点检测图像数据集,总共包含600张图片,其中200多张为包含过热点的图像,标注为voc格式好的,我们将使用YOLOv8来训练变压器红外测温过热点检测图像数据集。以下是详细的步骤,包括数据集预处理、训练、评估和可视化。环境准备首先,确保你已经安装了YOLOv8和其他......
  • 基于深度学习CNN网络 mini-xception网络实现 构建一个完整的人脸表情检测_识别分类系
    人脸表情检测该项目已训练好网络模型,配置好环境即可运行使用,效果见图像,实现图像识别、摄像头识别、摄像头识别/识别分类项目-说明文档-UI界面-cnn网络项目基本介绍:【网络】深度学习CNN网络mini-xception网络【环境】python>=3.5tensorflow2opencvpyqt5【文件】训......
  • 使用YOLOv8网络构建一个完整垃圾检测识别系统,如何实现——垃圾检测识别_垃圾分类系统_
    垃圾检测识别/垃圾分类系统/垃圾识别-cnn网络-带UI界面该项目已训练好网络模型,配置好环境即可直接运行使用,运行效果见图像项目基本介绍:【网络】深度学习CNN网络yolo8网络【环境】python>=3.5ptorchopencvpyqt5【文件】训练预测全部源代码、训练好的模型,项目报告文......
  • 如何使用yolov8训练无人机视角坦克检测数据集 人 交通工具 数据集voc :3500+张 5类 并
    无人机视角坦克检测数据集人交通工具房屋检测数据集目标检测带标注voc内含有img和groundtruth数量:3500+张目标:human、truck、vehicle、house、tank完整训练脚本fromultralyticsimportYOLO#加载预训练的YOLOv8m模型model=YOLO('yolov8m.pt')#训练模......
  • 你是怎样检测网页是否遵循W3C标准的?
    作为前端开发人员,检测网页是否遵循W3C标准是一个重要的技能。以下是一些常用的检测方法:一、使用W3C验证工具CSS验证:访问W3C的CSS验证服务网站:http://jigsaw.w3.org/css-validator/。将CSS代码复制到验证工具的编辑框内,点击“检查”按钮。根据验证结果中的错误提示进行修改......
  • 【YOLO】-目标检测数据集格式转换:将labelme格式转为YOLO以及VOC格式
    前言一个目标检测项目需要自己找图片标注数据进行训练,训练需要YOLO格式,但数据增广需要VOC格式,该文记录如何将labelme标注的数据格式转为YOLO格式,再从YOLO格式转为VOC格式,只作为自己用的记录,如果你刚好也需要这么干,或者需要文中提到的某一种转换,也可以参考一下。文中有些代码是参考......
  • 基于UI交互意图理解的异常检测方法15
      1.背景近年来,随着美团多种业务线的扩充和迭代,UI测试的任务愈发繁重。针对UI测试中人工成本过高的问题,美团到店测试团队开发了视觉自动化工具以进行UI界面的静态回归检查。然而,对于UI交互功能逻辑的检验仍强依赖于脚本测试,其无法满足对于进一步效率、覆盖面提升的强烈需求......
  • 基于UI交互意图理解的异常检测方法2
      1.背景近年来,随着美团多种业务线的扩充和迭代,UI测试的任务愈发繁重。针对UI测试中人工成本过高的问题,美团到店测试团队开发了视觉自动化工具以进行UI界面的静态回归检查。然而,对于UI交互功能逻辑的检验仍强依赖于脚本测试,其无法满足对于进一步效率、覆盖面提升的强烈需求......
  • 基于UI交互意图理解的异常检测方法13
      1.背景近年来,随着美团多种业务线的扩充和迭代,UI测试的任务愈发繁重。针对UI测试中人工成本过高的问题,美团到店测试团队开发了视觉自动化工具以进行UI界面的静态回归检查。然而,对于UI交互功能逻辑的检验仍强依赖于脚本测试,其无法满足对于进一步效率、覆盖面提升的强烈需求......