【网络安全】upload-labs Pass-21 解题详析

大聪明教你学Java | Seata 2.5 从下载到运行:全流程编译部署教程 Seata 2.5 版本带来了不少特性优化,但实际部署时却发现一个尴尬问题:全网找不到一篇完整覆盖「Git 源码下载→本地编译→环境配置→启动验证」的实操教程。作为一名踩遍无数坑才成功跑通的开发者,我深知这个过程的煎熬:Git 拉取源码后编译失败、依赖版本冲突、配置文件参数混乱、启动时端口占用或连接报错… 每一个坑都能耗费数小时排查。为了让后续开发者少走弯路,我将自己从0到1的完整实操经验整理成文,跟着步骤走即可成功运行 Seata 2.5. 阅读详情

读者可参考、订阅专栏:Upload-Labs靶场攻防实战

Antsword蚁剑

蚁剑工具的使用可参考:

【网络安全】AntSword(蚁剑)实战解题详析(入门)

【网络安全】DVWA之File Upload—AntSword(蚁剑)攻击姿势及解题详析合集

姿势

后端逻辑代码:

<?php
include '../config.php';
include '../common.php';
include '../head.php';
include '../menu.php';


if (isset($_POST['submit'])) {
    if (file_exists(UPLOAD_PATH)) {

        $is_upload = false;
        $msg = null;
        if(!empty($_FILES['upload_file'])){
            //mime check
            $allow_type = array('image/jpeg','image/png','image/gif');
            if(!in_array($_FILES['upload_file']['type'],$allow_type)){
                $msg = "禁止上传该类型文件!";
            }else{
                //check filename
                $file = empty($_POST['save_name']) ? $_FILES['upload_file']['name'] : $_POST['save_name'];
                if (!is_array($file)) {
                    $file = explode('.', strtolower($file));
                }

                $ext = end($file);
                $allow_suffix = array('jpg','png','gif');
                if (!in_array($ext, $allow_suffix)) {
                    $msg = "禁止上传该后缀文件!";
                }else{
                    $file_name = reset($file) . '.' . $file[count($file) - 1];
                    $temp_file = $_FILES['upload_file']['tmp_name'];
                    $img_path = UPLOAD_PATH . '/' .$file_name;
                    if (move_uploaded_file($temp_file, $img_path)) {
                        $msg = "文件上传成功!";
                        $is_upload = true;
                    } else {
                        $msg = "文件上传失败!";
                    }
                }
            }
        }else{
            $msg = "请选择要上传的文件!";
        }
        
    } else {
        $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
    }
}



?>

<div id="upload_panel">
    <ol>
        <li>
            <h3>任务</h3>
            <p>上传一个<code>webshell</code>到服务器。</p>
        </li>
        <li>
            <h3>上传区</h3>
            <form enctype="multipart/form-data" method="post">
                <p>请选择要上传的图片:<p>
                <input class="input_file" type="file" name="upload_file"/>
                <p>保存名称:<p>
                <input class="input_text" type="text" name="save_name" value="upload-20.jpg" /><br/>
                <input class="button" type="submit" name="submit" value="上传"/>
            </form>
            <div id="msg">
                <?php 
                    if($msg != null){
                        echo "提示:".$msg;
                    }
                ?>
            </div>
            <div id="img">
                <?php
                    if($is_upload){
                        echo '<img src="'.$img_path.'" width="250px" />';
                    }
                ?>
            </div>
        </li>
        <?php 
            if($_GET['action'] == "show_code"){
                include 'show_code.php';
            }
        ?>
    </ol>
</div>

<?php
include '../footer.php';
?>

!is_array($file)判断变量$file是否为数组类型。如果不是数组类型,则使用explode('.', strtolower($file))将文件名按照点号进行拆分。拆分后的结果是一个包含文件名和文件后缀的数组。

最后,通过strtolower()函数将文件后缀转换为小写字母。

抓包:

在这里插入图片描述

由代码审计,改包:

在这里插入图片描述

放包:

在这里插入图片描述

路径为:

在这里插入图片描述

连接蚁剑:

在这里插入图片描述

Statistics and Machine Learning Toolbox Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具 立即下载

相关推荐

生成式引擎优化(GEO):启动GEO优化的5个有效策略

随着生成式AI的普及,传统SEO正被GEO(生成式引擎优化)取代。本文提出GEO五大核心策略:用户意图解析、结构化内容设计、语义关键词优化、对话式内容创作和权威信源建设。研究表明,优化后的内容在AI答案中的引用率提升300%,点击率增长27%。文章还介绍了BERT模型、Schema标记等关键技术工具,并指出未来GEO将向多模态优化、实时数据更新方向发展。企业需避免简单堆砌关键词,应建立长期内容策略,通过结构化、权威性内容在AI时代保持竞争优势。

解锁AI流量新红利!🚀 GEO优化(生成引擎优化)助您掌控AI搜索,让AI成为您的品牌最佳代言人! 2786

【网络安全】upload-labs Pass-17 解题详析

由于二次渲染后图片中的部分数据会被修改,即(A,B,C)可能会被修改为(A,D,E),那么对于此限制,我们可以找到不被修改的。imagecreatefrompng是PHP中的一个函数,用于创建一个新的图像资源对象,并从PNG格式的图像文件中读取数据。,因为它不被过滤,因此我们将A修改为注入语句,此时语句不会被过滤,从而达到命令执行的目的。可以看到自00000190后,数据被二次渲染,也就是说在该行之前的数据是不会被渲染的。

等风来 6937

栅格数据空间叠置分析题目步骤讲解

题目: 准备工作: ①新建数据库,将实验数据导入(利于后期矢量转栅格操作,未建数据库此步骤会一直出错); ②在工具条自定义窗口勾选spacial analyst模块,在菜单栏→扩展模块,勾选spacial analyst;确保实验后面的操作可以成功。 详细操作步骤: 1.对三个方案的规划路线(line.shp)建立50m缓冲区;打开ArcMap,在ArcToolBox→分析工具→邻域分析→缓冲区,打开缓冲区工具窗口,界面设置如图:线性单位填写50米,其余默认,单击“确定”。 ...

m0_57139844的博客 8894

CTFHub Bypass disable_function 利用LD_PRELOAD绕过

LD_PRELOAD是Linux系统的一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接库。这个功能主要就是用来有选择性的载入不同动态链接库中的相同函数。通过这个环境变量,我们可以在主程序和其动态链接库的中间加载别的动态链接库,甚至覆盖正常的函数库。一方面,我们可以以此功能来使用自己的或是更好的函数(无需别人的源码),而另一方面,我们也可以以向别人的程序注入程序,从而达到特定的目的。 putenv()用来改变或增加环境变量的内容. 参数.

z2560088的博客 1156

Centos7.9使用kubeadm部署K8S集群

使用kubeadm部署一个k8s集群,单master+2worker节点。

lldhsds的专栏 1302

VGA系列之一:VGA显示网络图片

VGA系列之一:VGA显示网络图片VGA系列之一VGA显示网络图片 1 如何用FPGA实现VGA显示 2 网络图片和VGA显示有何区别 3VGA如何显示图片

善良の一休君的博客 1万+

文件上传简单案例(后台Servlet处理)

简单文件上传案例,后台Servlet演示,fileupload组件实现

周梦顺 3749

【白话系列】倍增算法

【序言】         我认为吧,所有能够优化复杂度的算法都是神奇的,所有能够化繁琐为形象的文字都是伟大的。一直觉得倍增算法是个很神奇的东西,所以决定写点东西纪念一下它。但是作为一个非常不称职的OIER,我非常讨厌在看别人的算法解析时整版的i,j,k等我看到鼠标就惯性移到右上角的符号语言,所以我想用最形象的方式来纪念它。 【一】         从前,有一只可爱得不得了的小白兔,它想从

JarjingX 3万+

php序列化和反序列化-ctf

<?php error_reporting(0); include "key4.php"; $TEMP = "Whatever is worth doing is worth doing well."; $str = $_GET['str']; if (unserialize($str) === $TEMP) { echo "$key4"; } show_source(__FILE__); 通过上述得知unserialize($str)中反序列化后的值等于Whatever is worth.

时光凉春衫薄的博客 1443

C#利用最小二乘法拟合任意次函数曲线

给出一组离散点,确定一个函数逼近原函数,插值是这样的一种手段。在实际中,数据不可避免的会有误差,插值函数会将这些误差也包括在内。因此,我们需要一种新的逼近原函数的手段: ①不要求过所有的点(可以消除误差影响);②尽可能表现数据的趋势,靠近这些点。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小 [1],其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达,具体可以查阅相关资料。最小二乘法(又称最小平方法)是一种数学技术。

qq_30725967的博客 3755

【Claude】媒体文件处理错误:PDF 与 Image 过大的检测与预处理方法 bug报错已解决

图片压缩是必须的:原始图片的 base64 会占用大量 TokenPDF 提取文本优于传图片:文本版 PDF 比扫描版更省 Token分块处理大文件:不要一次性处理整个大文件控制分辨率:800x800 通常足够 Claude 分析。

博客 6359

蚁剑AntSword(持续更新)

中国蚁剑是一款开源的跨平台网站管理工具,核心代码模板均改自伟大的中国菜刀,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员 安装 蚁剑的安装有两个部分,蚁剑源码,蚁剑加载器,加载器一定要下载,源码可以不下载,只需在加载器启动的时候创建一个新文件夹,然后把初始化目录指定到这个空文件夹中就可以了,加载器会自动下载蚁剑源码并进行初始化 蚁剑下载请认准蚁剑官方的Github项目! 蚁剑官方源码地址:https://github.com/AntSwordProject/antSword 蚁剑官方.

末初 · mochu7 6926

LPDDR5电路设计的新功能

本文从硬件电路设计的角度,简述了LPDDR5 JEDEC标准中新增的功能。

一只豌豆象的博客 7146

【网络安全】upload-labs Pass-04 解题详析

htaccess(Hypertext Access)是一个用于配置Apache服务器行为的配置文件。它通常位于网站的根目录或特定目录中,并用来控制目录下的文件访问权限、重定向、错误处理、认证等方面的设置。当服务器收到对"asdfg.jpg"文件的请求时,根据该指令,服务器会将其当作PHP脚本来处理,而不是直接将其作为静态图片返回给用户。这段代码是使用.htaccess文件的FilesMatch指令来对特定的文件进行处理。因此我们可以上传.htaccess文件,实现能够访问脚本文件、执行脚本即可。

等风来 6079

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

[网络安全]upload-labs Pass-07 解题详析

接着放包、复制文件上传路径、连接蚁剑即可。

等风来 5936

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【网络安全】upload-labs Pass-19 解题详析

本文介绍了如何通过修改myupload.php文件中的代码,利用图片码绕过文件上传限制,上传含有eval代码的GIF文件,并通过文件包含功能点实现命令执行。文章详细描述了上传过程、获取图片路径、利用文件包含功能点执行命令的步骤,并提供了POC示例。此外,文章还提到可以通过条件竞争的方式完成该任务,并提供了相关参考链接。读者可参考相关专栏和文章,进一步学习网络安全攻防实战技巧。

等风来 6171

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【网络安全】upload-labs Pass-18 解题详析

作用为:fopen(“info.php”, “w”) 使用写入模式(w)打开了一个名为 info.php 的文件,然后,fputs() 函数将 <?> 写入到打开的文件中。的原理类似,我们可以在上传文件的一瞬间访问该文件,这样文件就无法被过滤及二次渲染。但利用条件竞争时,需要快速进行访问,而手工较慢,因此需要写特定的脚本进行访问或上传。可以知道,后端逻辑代码先上传文件,再进行过滤及二次渲染。说明info.php成功生成,同时该文件包含一句话木马。在点击开始攻击的一瞬间,访问目标文件路径。

等风来 6220

【网络安全】upload-labs Pass-12 解题详析

00截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作为字符串的结尾。操作系统在识别字符串时,当读取到\0字符时,就认为读取到了一个字符串的结束符号。:定义允许上传的文件扩展名数组,只允许上传 jpg、png 和 gif 文件。因此,我们可以通过修改数据包,插入\0字符的方式,达到字符串截断的目的。函数从最后一个点(.)之后截取字符串,即获取文件扩展名。:检查文件扩展名是否在允许上传的扩展名数组中。:从上传的文件名中提取文件扩展名。

等风来 5965

【网络安全】upload-labs Pass-16 解题详析

本文介绍了如何利用Antsword蚁剑工具进行文件上传漏洞的攻防实战。文章首先提供了相关的参考链接,详细讲解了蚁剑的使用方法和实战案例。接着,文章分析了后端逻辑代码,重点介绍了exif_imagetype()函数的使用,该函数通过读取图像的第一个字节来验证文件类型。文章提示需要通过开启php_exif模块来支持该函数,并建议使用图片码绕过文件类型验证。最后,文章引用了详细的解题分析链接,供读者进一步学习参考。

等风来 6010

[网络安全]upload-labs Pass-05 解题详析

由代码审计可知,对于上传的文件名,先删除文件名末尾的点,然后首位去空,因此我们可构造。可知,不能使用Pass-04的解题方法进行.htaccess文件绕过。

等风来 5897

【网络安全】upload-labs Pass-13 解题详析

该题同Pass-12考察00截断,但为POST传参型。该题同Pass-12考察00截断,但为POST传参型。之后即可进行shell操作,本文不再赘述。接着将%00进行URL编码。

等风来 6008

【网络安全】upload-labs Pass-15 解题详析

使用getimagesize()函数获取图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度,并将其取出的文件类型信息$info[2]与文件后缀白名单进行对比,判断上传的文件是否合法,并将info[2]作为上传后的文件的后缀名。其它操作同Pass-14,本文不再赘述。于是我们仍可以使用图片码上传。

等风来 5886

[网络安全]upload-labs Pass-08 解题详析

接着放包、复制文件上传路径、连接蚁剑即可。本文不再赘述。

等风来 5850

[网络安全]upload-labs Pass-02 解题详析

可使用Pass-01的方法。

等风来 5822

【网络安全】upload-labs Pass-03 解题详析

故可使用其它后缀名绕过,如php3、php4、phtml。代码审计可知普通的文件名被加入黑名单。

等风来 5984

[网络安全]upload-labs Pass-06 解题详析

由于PHPStudy中apache 2.4.39连接报错,可切换为nginx 1.15.11。本关并未使用strtolower函数对文件名进行大小写过滤,故可抓包进行大小写绕过。接着打开图片链接可得到文件上传URL。将.php改为.Php。

等风来 5947
上一篇: 【网络安全】upload-labs Pass-19 解题详析
下一篇: 【网络安全 | 2w字总结】SSTI漏洞入门
秋说
秋说 优质创作者: 编程框架、信息安全技术领域 优质创作者: 编程框架、信息安全技术领域
博客等级 码龄4年 3万+粉丝 1906原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值