jsp制作网站/手机导航下载2022新版
本文章提供的工具、教程、学习路线等均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如有侵权请联系小编处理。
环境准备:
1.靶场搭建
下载地址:GitHub - c0ny1/upload-labs: 一个想帮你总结所有类型的上传漏洞的靶场
下载完成后将zip包复制进phpstudy的软件目录下/—>D:\phpstudy_pro\WWW 在进行解压
解压安装完成后在该文件夹内新建一个upload的空文件 用来后续靶场上传文件使用
2.一句话木马
# 1.php → 一句话木马
<?php @eval($_POST['cmd']); ?>
# 666.php → 测试所用的phpinfo
<?php phpinfo(); ?>
————————————————————分割线————————————————————
Pass-01
选择一个php文件,发现无法上传。然后抓包发现是抓不到 说明数据没有进入后端 说明是前端验证拦截
然后我们将一句话木马1.php文件改成1.jpg格式后缀的上传然后进行抓包
然后回显页面有这个图像就说明成功上传了 去upload文件下也能看到我们上传的木马文件
Pass-02
上传一个1.php 抓包发现限制了 上传类型 Content-Type: application/octet-stream
所以我们更改其验证类型为 image/jpeg、image/png、image/gif 其中任意一种就可以 成功上传
Pass-03
提示不让上传 所以我们改一下文件后缀名成功上传
某些特定环境中某些特殊后缀仍会被当作php文件解析 php、php2、php3、php4、php5、php6、php7、pht、phtm、phtml
Pass-04
这关提示中后缀名黑名单有很多 所以我们换一种方式:.htaccess文件上传
.htaccess文件(或者分布式配置文件),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。
首先创建一个.htaccess文件(文件名就为.htaccess)内容如下
AddType application/x-httpd-php .png
通常用于配置 Apache Web 服务器。这条命令会让服务器将
.png
图片文件识别为 PHP 脚本,并尝试使用 PHP 引擎来执行这些文件。
Pass-05
查看源码,和第四关对比,发现这关没有转换大小写的代码
这样我们就可以上传大小写混合的后缀名来进行绕过。上传一个phpinfo.Php文件,直接上传成功。
Pass-06
老样子 看一下源码 发现 少了一行尾部去空
所以我们只需要抓包的时候在尾部加一个空格即可
Pass-07
通过源码发现,本关并未对结尾点进行检测。那么这里就可以通过在后缀加上点进行绕过,其实点绕过和空格绕过是一样的,都是利用操作系统的特性来进行解析绕过
Pass-08
过源码发现并未对::$DATA进行检测。可以在后面添加::$DATA进行绕过
在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,他的目的就是不检查后缀名
Pass-09
通过源码发现本关之前所有的绕过思路都被过滤了,但是通过源码发现,所有的过滤都是一次的,并未对其进行循环过滤。也就是说源码中提到的删除空格,删除点都是只删除一次,那么可以在数据包中将php后缀添加. .,形成.php. .,由于只验证一次,所以删除一个点和一个空格后就不在删除了。
Pass-10
过源码发现,若上传的文件后缀在禁止的列中,那么就将后缀替换为空,而这里又是只过滤一次,那么就可以通过双写进行绕过。在php中再写一个php
这样 即使删掉中间的php 外层php也会自动拼接成一个新的php
Pass-11
我们可以看到img_path是通过get传参传递的,那么我们不妨在这块将路径改掉,改为upload/web.php%00,那么后面不管是什么东西都会被截断掉,然后经过move_uploaded_file函数将临时文件重新复制给我们的截断之前的文件路径,当然,我们还是要上传jpg文件的,使得我们可以进行下面程序的运行
Pass-12
本关接受值从get变成了post,它两的区别就是get会自行解码,而post不会解码,所以需要对%00进行解码。所以在这一关我们就需要在web.php后面加一个占位符,将其16进制改为00,这样控制符就出现了,最后在上传文件的时候就会触发\00截断
在BS抓包中选中%00右键选择URL其次选择网址解码。
Pass-13
因为网站根目录下存在include.php 文件(文件包含漏洞) 没有的可以自行添加一下
<?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){include $file;
}else{show_source(__file__);
}
?>
然后我们制作一个图片马 进行上传
然后我们去链接一下我们的图片马 注意语法格式
http://192.168.3.222/upload-labs/include.php?file=upload//8520240728175046.gif
Pass-14
和13关一样直接上传图片马即可
Pass-15
和13关一样
Pass-16
这关存在imagecreatefromjpeg()函数将我们的图片打散进行二次渲染,这就会导致我们的一句话木马消失,所以我们就要想办法在他没有打散的对方将我们的一句话写进去 针对不同格式的图片马 有不同的对应方式
这里我找的现成的gif 中间存在一句话木马的地方不会被函数打散 所以就按照图片马 的思路去做
Pass-17
条件竞争
也就是说如果我们上传php文件,他会删除我们上传的木马。
这么看来如果我们还是上传一个图片马的话,网站依旧存在文件包含漏洞我们还是可以进行利用。但是如果没有文件包含漏洞的话,我们就只能上传一个php木马来解析运行了。
先上传再删除,在上传到删除之间这几十毫秒之内我们的文件还是在的,我们就可以访问我们上传的文件。这种就就叫条件竞争漏洞(时间竞争漏洞),这道题干好符合条件我们就利用时间竞争来做
其实就是文件套娃 我们上传文件A 让文件A被检测删除之前 去运行生成一个木马文件B 木马文件B成功生成后 文件A也被检测到然后删除 此时只留下我们要用的木马文件B了
文件A内容:
<?php file_put_contents('./web.php', '<?php phpinfo(); ?>'); ?>
这段代码的作用是创建或覆盖位于当前目录下的web.php
文件,并在其中写入了一个简单的 PHP 脚本,该脚本将输出 PHP 的配置信息
我们抓到包后 发送到攻击模块 清除所有payload
我们要不断重复的去上传文件 然后去访问 因为要在系统删掉之前去访问到我们的web.php 让文件在当前目录下生成我们要的木马文件
Pass-18
跟图片马一个步骤
Pass-19
上传文件时候可以选择上传文件名称 我们只需要 将上传文件名称后缀名加一个点即可成功访问 前提是靶场环境是Windows
相关文章:

upload-labs 1-19关 攻略 附带项目下载地址 小白也能看会
本文章提供的工具、教程、学习路线等均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如有侵权请联系小编处理。 环境准备: 1.靶场搭建 下…...

如何设置SQL Server的端口:详细步骤指南
如何设置SQL Server的端口:详细步骤指南 在SQL Server中,配置端口是确保数据库服务能够正确通信的重要步骤。无论是为了提高安全性还是满足特定的网络配置需求,正确设置SQL Server的端口都是必要的。本文将详细介绍如何设置SQL Server的端口…...

昇思25天学习打卡营第16天|Diffusion扩散模型,DCGAN生成漫画头像
Diffusion扩散模型 关于扩散模型(Diffusion Models)有很多种理解,本文的介绍是基于denoising diffusion probabilistic model (DDPM),DDPM已经在(无)条件图像/音频/视频生成领域取得…...

【吊打面试官系列-Dubbo面试题】Dubbo SPI 和 Java SPI 区别?
大家好,我是锋哥。今天分享关于 【Dubbo SPI 和 Java SPI 区别?】面试题,希望对大家有帮助; Dubbo SPI 和 Java SPI 区别? JDK SPI JDK 标准的 SPI 会一次性加载所有的扩展实现,如果有的扩展吃实话很耗时&…...

7.31 Day13 网络散记(http,https...)
http固定对应80端口 https固定对应443端口...

LumaLabs 用例和应用分析
介绍 LumaLabs AI 是一家尖端技术公司,通过创新使用人工智能 (AI) 和神经渲染技术,彻底改变了 3D 内容创作领域。本报告深入探讨了 LumaLabs AI 的各种用例和应用,重点介绍了其在不同行业中的能力、优势和潜在影响。 LumaLabs AI 概述 LumaL…...

leetcode88.合并两个有序数组(简单题!)
思路:合并两个数组,再进行排序(利用快速排序) class Solution(object):def quicksort(self, num, i, j):if i>j: # 跳出循环的条件要出来return left iright jtemp num[i]while left < right:while left < right and…...

鸿蒙(HarmonyOS)DatePicker+TimePicker时间选择控件
一、操作环境 操作系统: Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0(API 9) 二、效果图 可实现两种选择方式,可带时分选择,也可不带,使用更加方便。 三、代码 SelectedDateDialog…...

2024年和2025年CFA FRM CAIA ESG自己整理的资料
本人金融女一枚,CFA FRM CAIA ESG已过,研究生学历,职位投资经理。从事金融快5年了,月薪30000,周未双休五险一金。工作很充实也很累,每天失眠,思考了很久,还是决定离职了,…...

AMD第二季度财报:数据中心产品销售激增,接近总收入一半
#### 财报亮点 7月30日,AMD公布了截至6月29日的第二季度财务业绩,利润超过了华尔街的预期。根据TechNews的报道,最值得注意的是,AMD现在近一半的销售额来自于数据中心产品,而非传统的PC芯片、游戏主机或是工业与汽车嵌…...

ThreadLocal详解及ThreadLocal源码分析
提示:ThreadLocal详解、ThreadLocal与synchronized的区别、ThreadLocal的优势、ThreadLocal的内部结构、ThreadLocalMap源码分析、ThreadLocal导致内存泄漏的原因、要避免内存泄漏可以用哪些方式、ThreadLocal怎么解决Hash冲突问题、避免共享的设计模式、ThreadLoca…...

FastGPT、Dify、Coze产品功能对比分析
在当前的人工智能领域,模型接入、应用发布、应用构建、知识库和工作流编排等功能是衡量一个AI平台综合能力的重要指标。本文将对FastGPT、Dify和Coze这三款产品的功能进行详细对比分析,以帮助用户更好地了解它。 订阅模式及市场概况 在订阅模式及市场概…...

【Linux】缓冲区的理解
目录 一、实验现象二、初步认知缓冲区2.1 缓冲区的刷新策略2.2 缓冲区在哪里 三、缓冲区模拟实现四、再次全面理解缓冲区4.1 用户强制刷新缓冲区(fflush/fsync) 一、实验现象 我们先来看一个现象: 在显示器中打印内容时,fprintf先打印出来,w…...

基于单片机的电梯控制系统的设计
摘 要: 本文提出了一种基于单片机的电梯控制系统设计 。 设计以单片机为核心,通过使用和设计新型先进的硬件和控制程序来模拟和控制整个电梯的运行,在使用过程中具有成本低廉、 维护方便、 运行稳定 、 易于操作 、 安全系数高等优点 。 主要设计思路是…...

IP-GUARD文档云备份服务器迁移数据操作说明
一、功能简介 使用文档云备份过程可能出现需要迁移旧数据到新目录的情况(如一开始存储目录设置 不合理,之后变更存储目录),下面介绍迁移备份数据到新目录的方法,迁移后可正常查看、 下载、删除原备份文件。 二、同一计算机上迁移存储目录 当仅需要将存储目录迁移到同一计…...

linux常用命令ls详细说明
目录 1.ls的基本功能就是显示当前目录的文件和目录 2.ls输出是按照字母顺序排列的 3.默认不显示隐藏内容,加上参数-a可以显示隐藏的文件和文件夹 4.-R参数可以地柜列出当前目录以及它包含的字目录中的文件 5.-l参数辉显示长列表,也可以显示文件更多信…...

Python3网络爬虫开发实战(4)数据的存储
文章目录 一、文本文件存储1. os 文件 mode2. TXT3. JSON4. CSV 二、数据库存储1. SQLAlchemy2. MongoDB3. Redis1) 键操作2) 字符串操作3) 列表操作4) 集合操作5) 有序集合操作6) 散列操作 4. Elasticsearch1) 检索数据:利用 elasticsearch-analysis-ik 进行分词2)…...

《C++基础入门与实战进阶》专栏介绍
🚀 前言 本文是《C基础入门与实战进阶》专栏的说明贴(点击链接,跳转到专栏主页,欢迎订阅,持续更新…)。 专栏介绍:以多年的开发实战为基础,总结并讲解一些的C/C基础与项目实战进阶内…...

每天一个数据分析题(四百五十)- 数据清洗
数据在真正被使用前需进行必要的清洗,使脏数据变为可用数据。下列不属于“脏数据”的是() A. 重复数据 B. 错误数据 C. 交叉数据 D. 缺失数据 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据…...

昇思25天学习打卡营第XX天|Pix2Pix实现图像转换
Pix2Pix是一种基于条件生成对抗网络(cGAN)的图像转换模型,由Isola等人在2017年提出。它能够实现多种图像到图像的转换任务,如从草图到彩色图像、从白天到夜晚的场景变换等。与传统专用机器学习方法不同,Pix2Pix提供了一…...

数据结构经典测试题5
1. int main() { char arr[2][4]; strcpy (arr[0],"you"); strcpy (arr[1],"me"); arr[0][3]&; printf("%s \n",arr); return 0; }上述代码输出结果是什么呢? A: you&me B: you C: me D: err 答案为A 因为arr是一个2行4列…...

React Native初次使用遇到的问题
Write By Monkeyfly 以下内容均为原创,如需转载请注明出处。 前提:距离上次写博文已经过去了5年之久,诸多原因导致的,写一篇优质博文确实费时费力,中间有其他更感兴趣的事要做(打游戏、旅游、逛街、看电影…...

2024西安铁一中集训DAY28 ---- 模拟赛(简单dp + 堆,模拟 + 点分治 + 神秘dp)
文章目录 前言时间安排及成绩题解A. 江桥不会做的签到题(简单dp)B. 江桥树上逃(堆,模拟)C. 括号平衡路径(点分治)D. 回到起始顺序(dp,组合数学) 前言 T2好难…...

【论文阅读笔记 + 思考 + 总结】MoMask: Generative Masked Modeling of 3D Human Motions
创新点: VQ-VAE 👉 Residual VQ-VAE,对每个 motion sequence 输出一组 base motion tokens 和 v 组 residual motion tokensbidirectional 的 Masked transformer 用来生成 base motion tokensResidual Transformer 对 residual motion toke…...

Mojo控制语句详解
Mojo 包含几个传统的控制流结构,用于有条件和重复执行代码块。 The if statement Mojo 支持条件代码执行语句。有了它,当给定的布尔表达式计算结果为 时,if您可以有条件地执行缩进的代码块 。True temp_celsius = 25 if temp_celsius > 20:print("It is warm.&quo…...

web安全基础学习
http基础 HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。本文将介绍如何使用HTTP协议,以及在Linux操作系统中如何使用curl工具发起HTTP请求。 一、HTTP特性 无状态…...

天气预报的爬虫内容打印并存储用户操作
系统名称: 基于网络爬虫技术的天气数据查询系统文档作者:清馨创作时间:2024-7-29最新修改时间:2024-7-29最新版本号: 1.0 1.背景描述 该系统将基于目前比较流行的网络爬虫技术,对网站上(NowAPI…...

OrangePi AI Pro 固件升级 —— 让主频从 1.0 GHz 到 1.6 GHz 的巨大升级
前言 OrangePi AI Pro 最近发布了Ascend310B-firmware 固件包,据说升级之后可以将 CPU 主频从 1.0 GHz 提升至 1.6 GHz,据群主大大说,算力也从原本的 8T 提升到了 12T,这波开发板的成长让我非常的 Amazing 啊!下面就来…...

学习大数据DAY27 Linux最终阶段测试
满分:100 得分:72 目录 一选择题(每题 3 分,共计 30 分) 二、编程题(共 70…...

ctr管理containerd基本命令
1. 创建命名空间 创建名为custom的命令空间 ctr ns create custom2. 导入镜像 把镜像导入到刚刚创建的空间 ctr -n custom images improt restfulapi.tar3. 创建容器 创建一个test_api的容器 ctr -n custom run --null-io --net-host -d --mount typebind,src/etc,dst/ho…...