upload-labs 靶场(11~21)

免责声明

本博客文章仅供教育和研究目的使用。本文中提到的所有信息和技术均基于公开来源和合法获取的知识。本文不鼓励或支持任何非法活动,包括但不限于未经授权访问计算机系统、网络或数据。

作者对于读者使用本文中的信息所导致的任何直接或间接后果不承担任何责任。包括但不限于因使用本文所述技术而可能导致的法律诉讼、财产损失、隐私泄露或其他任何形式的责任。

在进行任何渗透测试或安全研究之前,请确保您已获得所有必要的授权,并遵守适用的法律和道德准则。未经授权的安全测试可能违反法律,并可能导致严重的法律后果。

本文中的内容仅供参考,不应被视为专业建议。在进行任何安全相关活动之前,建议咨询具有相应资质的专业人士。

作者保留对本博客文章的所有权利,并有权在未经通知的情况下进行修改或删除。

正文部分

前期准备:

        目标:学习文件上传漏洞的绕过

        系统环境:

                攻击机:Windows 10

                靶机:192.168.162.22(Windows 10 ==> phpStudy 2018)

        工具:

                Google浏览器、BurpSuite、Behinder、蚁剑

Pass-11

从源码可以看出,这一关会过滤掉黑名单中的文件后缀,那么关键字嵌入一下是不是就过了?

放包

没问题,冰蝎连🐎

Pass-12

看源码,貌似是可以使用文件名截断的方法,前提是需要把 PHP 版本改一下

抓包改数据,在路径后面加上文件名,用 %00 截断

放包

虽然文件名后面还有一大堆东西,不过无伤大雅,只访问🐎文件名就行了,召唤冰蝎连🐎,连接之前先将 PHP 的版本调回 5.4.45

Pass-13

看源码,这关好像跟上一关差不多,先把 PHP 版本改一下,跟上一关一样,抓个包

文件名后面依旧是 %00,只不过这里需要手段解一下码,快捷键是 Ctrl + Shift + U,具体操作还是看我另一篇文章吧,这里不太想截图了 ==> iwebsec 靶场——06-文件截断上传

改回 PHP 版本,冰蝎连🐎

Pass-14

看源码,看情况是要写图片🐎,然后用文件包含漏洞执行🐎,包含文件点击链接了解

制作图片🐎方法就不说了,没什么难的。这一关就上传一个 jpg 格式的文件吧,召唤冰蝎连🐎

Pass-15

看源码,跟上一关一样,这关上传 png 格式的文件

Pass-16

看源码,还是一样的操作,这关上传 gif 格式的文件

可爱吧,哈哈哈哈哈哈

Pass-17

看源码,这关要对图片进行二次渲染,也就是说服务器把刚才上传的文件稍做了修改,那么我们就要在被服务器已经改改掉的图片中插入🐎,把服务器返回的图片保存下来进行对比,用工具改一下,将🐎写进去

将匹配的地方改成🐎,然后再次上传,这关换作蚁剑连接

Pass-18

先代码审计,发现这个逻辑问题还是有很大的问题。先接收上传的文件,然后判断保留还是删除

由于代码的执行需要时间,那么就利用代码执行的时间差访问上传的文件,使文件做一些事,比如创建一个🐎,思路整合完成,开始操作

首先,先写一个子母🐎

zmm.php 文件是要上传的文件,文件中的 shell.php 是要生成的文件,里面的内容就是后面那一段 php 代码。由于文件上传上去后存留的时间太短,根本来不及访问 zmm.php 文件,那么就需要不断地发,然后不断地访问 zmm.php 文件,使其执行生成🐎。这个时候就要用到 bp 协助上传和访问

上传一个文件做测试,看看文件会被上传到哪个目录中

接下来先提前开一个网页访问 zmm.php 文件,然后上传 zmm.php,用 bp 抓包,具体操作就到另一篇文章看 ==> iwesec 靶场——07-竞争条件文件上传

完事后召唤蚁剑连接🐎

Pass-19

这一关有两种方式,也都是前面操作过的

方法 1 => 上传图片🐎文件包含

将子母🐎插入到图片中,然后文件包含,生成子🐎

我这里的路径有点问题,不过无伤大雅

方法 2 => bp 无限访问文件包含

这个方法是用 bp 无限上传文件,趁着文件名还没有被换掉,然后包含到子母🐎生成子🐎

这个是上传子母🐎的数据包

这个是访问包含子母🐎的数据包

接下来就开始无限上传了

子🐎生成成功,用蚁剑连接一下

Pass-20

这一关思路就比较多了,毕竟上面都多了那么多关卡了

思路 1 => 文件截断上传

这一关要改一下 PHP 版本

将文件的保存名称后面截断,放包看看效果

恢复 PHP 版本,然后……有请冰蝎连🐎

思路 2 => 文件包含

上传一个图片🐎,然后文件包含解析 PHP,最后用蚁剑连🐎

思路 3 => 大小写绕过

冰蝎连接🐎

Pass-21

看源码,发现这关还是挺复杂的,不过有两行核心代码,搞定核心就相当于搞定了控制权

代码中使用 explode('.', strtolower($file)) 来获取文件后缀,但没有处理文件名中包含多个点的情况。例如,上传一个名为 file.php.jpg 的文件,后缀会被错误地识别为 jpg

reset($file) . '.' . $file[count($file) - 1] 这种方式重命名文件名并不安全,可能会导致文件名冲突或路径遍历漏洞

所以在数据包中修改内容

由于explode() 函数会将文件名按照点拆分为一个数组,那么在修改后数据包中,第一个数组元素就是文件名,第三个就是后缀,第二个就放空,也没限制后缀不能是空

放包

冰蝎连🐎

收工

17、18、19 关要生成子🐎,冰蝎🐎不知道怎么回事老报错,就用蚁剑连接了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jenkins+github+springboot自动部署

背景: 最近看流水线有点意思,就说自己也搞一套。 预期效果: idea提交代码后,GitHub接收,jenkins自动部署。【后续加个自动部署时的代码检查、单元测试、安全测试、sonarqube】 思路分析: idea上的spring代码push到gi…

kafka数据在服务端时怎么写入的

学习背景 接着上篇,我们来聊聊kafka数据在服务端怎么写入的 服务端写入 在介绍服务端的写流程之前,我们先要理解服务端的几个角色之间的关系。 假设我们有一个由3个broker组成的kafka集群,我们在这个集群上创建一个topic叫做shitu-topic&…

Springboot——SseEmitter流式输出

文章目录 前言SseEmitter 简介测试demo注意点异常一 ResponseBodyEmitter is already set complete 前言 最近做AI类的开发,看到各大AI模型的输出方式都是采取的一种EventStream的方式实现。 不是通常的等接口处理完成后,一次性返回。 而是片段式的处理…

【深度学习|目标跟踪】StrongSORT 详解(以及StrongSORT++)

StrongSort详解 1、论文及源码2、DeepSORT回顾3、StrongSORT的EMA4、StrongSORT的NSA Kalman5、StrongSORT的MC6、StrongSORT的BOT特征提取器7、StrongSORT的AFLink8、StrongSORT的GSI模块 1、论文及源码 论文地址:https://arxiv.org/pdf/2202.13514 源码地址&#…

AntFlow 0.20.0版发布,增加多数据源多租户支持,进一步助力企业信息化,SAAS化

传统老牌工作流引擎比如activiti,flowable或者camunda等虽然功能强大,也被企业广泛采用,然后也存着在诸如学习曲线陡峭,上手难度大,流程设计操作需要专业人员,普通人无从下手等问题。。。引入工作流引擎往往需要企业储…

【设计模式系列】工厂方法模式(二十一)

一、什么是工厂方法模式 工厂方法模式(Factory Method Pattern)是一种创建型设计模式,其核心目的是定义一个创建对象的接口,但让实现这个接口的子类来决定实例化哪一个类。工厂方法模式让类的实例化推迟到子类中进行,…

HCIE:详解OSPF,从基础到高级特性再到深入研究

目录 前言 一、OSPF协议基本原理 简介 基本原理 OSPF路由器类型 OSPF网络类型 OSPF报文类型和封装 OSPF邻居的建立的维护 DR和BDR的选举 伪节点 LSDB的更新 OSPF的配置 二、OSPF的高级特性 虚连接(Virtual-Link) OSPF的LSA和路由选择 OSPF…

分享一款 Vue 图片编辑插件 (推荐)

💥本篇文章给大家分享一款强大到没朋友的Vue图片编辑插件,可以对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本等,快来试试并收藏吧!💕 这是一款对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本在线处理的图片处…

【时间之外】IT人求职和创业应知【53】-东莞也转型

目录 新闻一:Freysa挑战赛:人类智慧与策略战胜AI,奖金高达4.7万美元 新闻二:中国生成式AI用户规模突破2.3亿,行业应用广泛 新闻三:2024东莞智能终端新技术推广会圆满举行,聚焦AI与智能终端融…

大模型在推荐系统中的应用

引言 推荐系统在现代互联网应用中扮演着至关重要的角色。从电商到社交媒体,再到音乐与视频流媒体服务,推荐系统通过分析用户行为数据和内容特征,为用户提供个性化服务。近年来,大模型(Large Language Models, LLMs&…

Electron + vue3 打包之后不能跳转路由

路由不跳转问题原因: 是因为electron需要将vue-router的mode调整为hash模式(两种写法) export default new Router({mode: hash, //这里history修改为hashscrollBehavior: () > ({y: 0}),routes: constantRouterMap, }) export default new createRouter({his…

Linux网络_网络协议_网络传输_网络字节序

一.协议 1.概念 协议(Protocol) 是一组规则和约定,用于定义计算机网络中不同设备之间如何进行通信和数据交换。协议规定了数据的格式、传输方式、传输顺序等详细规则,确保不同设备和系统能够有效地互联互通。 在网络通信中&#…

Unity3D UI 嵌套滚动视图

Unity3D 解决 UI 嵌套滚动视图滑动问题。 嵌套滚动视图 滑动问题 在游戏开发中,我们常常会遇到一种情况,在一个滚动视图列表中,每个 item 还包含了一个内嵌的滚动视图。 这样,当我们在滑动外层的滚动视图时,如果点…

QT6学习第五天 第一个QT Quick程序

QT6学习第五天 第一个QT Quick程序 概述创建Qt Quick程序使用Qt资源文件程序发布 概述 如果将程序的用户界面成为前端,程序的数据存储和逻辑业务成为后端,那么传统QT Widgets程序的前后端都是用C完成的。对于现代软件开发而言,前端演化速度远…

【C++】单目操作符详解:前置与后置自增自减及正负号操作

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯单目操作符概述1 自增与自减操作符: 和 --2 前置 和 后置 案例 1:前置 案例 2:后置 小技巧 3 前置 -- 和 后置 --案例 1:前…

SAP SD学习笔记15 - 投诉处理2 - 返品处理流程之 参照请求传票(发票)来生成返品传票

上一章讲了返品处理(退货处理)的流程。 SAP SD学习笔记14 - 投诉处理1 - 返品处理(退货处理)的流程以及系统实操,比如 返品传票;请求Block标记;收到退货之后的处理,请求传票的登录_…

【C语言】二叉树(BinaryTree)的创建、3种递归遍历、3种非递归遍历、结点度的实现

代码主要实现了以下功能: 二叉树相关数据结构定义 定义了二叉树节点结构体 BiTNode,包含节点数据值(字符类型)以及指向左右子树的指针。 定义了顺序栈结构体 SqStack,用于存储二叉树节点指针,实现非递归遍历…

【博主推荐】C# Winform 拼图小游戏源码详解(附源码)

文章目录 前言摘要1.设计来源拼图小游戏讲解1.1 拼图主界面设计1.2 一般难度拼图效果1.3 普通难度拼图效果1.4 困难难度拼图效果1.5 地域难度拼图效果1.6 内置五种拼图效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载结束语 前言 在数字浪潮汹涌澎湃的时代,程序开…

C++初阶(十七)--STL--stack和queue详解及使用

目录 stack 概念 stack的定义 stack的使用 queue 概念 queue的定义 queue的使用 在 C 的标准模板库(STL)中,stack(栈)和queue(队列)是非常重要的容器适配器。它们基于其他基础容器实现&…

【ubuntu24.04】GTX4700 配置安装cuda

筛选显卡驱动显卡驱动 NVIDIA-Linux-x86_64-550.135.run 而后重启:最新的是12.6 用于ubuntu24.04 ,但是我的4700的显卡驱动要求12.4 cuda