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

文件上传漏洞——upload-labs 1-19 (详解) upload-labs-1 删除 js 进行绕过 上传图片,发现上传成功 上传 shell 发现: 发现是白名单,所以由前面我们知道,极有可能在前端存在过滤,我们检查一下: 发现 checkFile() 起到了检查过滤的效果,我们将其删去并提交 发现: 然后用中国以蚁剑 进行链接 发现成功 发现成功 同时我们发现仅仅在前端进行过滤是远远不够的,我们可以轻易的删去,所以除了前端,后端也必须进行校验 如果我们在使用蚁剑发现了返回值为空说明一句话木马语法错误,如果我们发现返回值是一串乱码 则是链接地址 阅读详情

文章目录

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

Antsword蚁剑

该题涉及蚁剑工具的利用,操作可参考:

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

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

正文

后端逻辑代码:

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

function isImage($filename){
    //需要开启php_exif模块
    $image_type = exif_imagetype($filename);
    switch ($image_type) {
        case IMAGETYPE_GIF:
            return "gif";
            break;
        case IMAGETYPE_JPEG:
            return "jpg";
            break;
        case IMAGETYPE_PNG:
            return "png";
            break;    
        default:
            return false;
            break;
    }
}

$is_upload = false;
$msg = null;
if(isset($_POST['submit'])){
    $temp_file = $_FILES['upload_file']['tmp_name'];
    $res = isImage($temp_file);
    if(!$res){
        $msg = "文件未知,上传失败!";
    }else{
        $img_path = UPLOAD_PATH."/".rand(10, 99).date("YmdHis").".".$res;
        if(move_uploaded_file($temp_file,$img_path)){
            $is_upload = true;
        } else {
            $msg = "上传出错!";
        }
    }
}
?>

<div id="upload_panel">
    <ol>
        <li>
            <h3>任务</h3>
            <p>上传<code>图片马</code>到服务器。</p>
            <p>注意:</p>
            <p>1.保证上传后的图片马中仍然包含完整的<code>一句话</code>或<code>webshell</code>代码。</p>
            <p>2.使用<a href="<?php echo INC_VUL_PATH;?>" target="_bank">文件包含漏洞</a>能运行图片马中的恶意代码。</p>
            <p>3.图片马要<code>.jpg</code>,<code>.png</code>,<code>.gif</code>三种后缀都上传成功才算过关!</p>
        </li>
        <li>
            <h3>上传区</h3>
            <form enctype="multipart/form-data" method="post">
                <p>请选择要上传的图片:<p>
                <input class="input_file" type="file" name="upload_file"/>
                <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';
?>

提示需要开启php_exif模块

故进入phpstudy的网站、管理、php扩展中修改即可

在这里插入图片描述

源代码中使用到了exif_imagetype()函数,其用于读取图像的第一个字节并检查其签名

故仍可使用图片码绕过,本文不再赘述

详情参考:【网络安全】upload-labs Pass-14 解题详析

upload-labs靶场搭建+实战(纯小白向) 先下载phpstudy,往下翻到立即下载,下载64位后解压(路径最好不要有中文)双击exe文件下载,下载成功后打开,套件启动apache和ftp就行,然后下载靶场文件压缩包​这里有说道,下载压缩包后解压到pupstudy_pro路径中WWW路径下,解压出来的名字可能是upload-labs-master的话,需要修改一下文件名,让访问网址中的文件名和WWW路径下的对照一致,否则的话就会404,这里我发一下我的​​。 阅读详情

相关推荐

[网络安全]upload-labs Pass-20 解题详析(1)

} ?>上传一个到服务器。请选择要上传的图片: 保存名称:

2401_84972726的博客 554

蚁剑返回数据为空的几种原因

今天连接蚁剑死活连不上到头来发现post没有大写。1,可能是post没有大小写,中国蚁剑返回数据为空,2,看防火墙有没有关,3,代理是不是手动。

m0_73581247的博客 2万+

怎么在豆包里做生成式引擎优化(GEO)

本文系统介绍了豆包平台生成式引擎优化(GEO)的全套方法体系。文章首先解析了豆包与传统搜索引擎的核心差异,强调其多模态理解和上下文感知特性,并指出GEO需从关键词匹配转向用户意图动态解析。随后详细阐述了GEO优化的三大核心策略:用户意图解析技术、实时内容适配框架和权威信号强化方法,配以技术实现路径和案例说明。最后提出GEO与SEO融合的未来趋势,建议企业构建统一知识库,实现全渠道声誉管理。全文包含大量实操代码和工具链指导,为企业在AI时代的内容优化提供系统解决方案。

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

upload-labs第16关(判断照片后二次渲染)详解

upload-labs16关-详解(判断是否为照片后进行二次渲染) 首先看一下源码 首先我们像前面关卡一样,上传图片马,按照我们的习惯,将会在图片的尾部,写入php一句话木马,然后用菜刀或者蚁剑连接,我们先按照此方法进行试验 (1)上传图片马 (2)用burp拦截,拦截到上传的包 (3)在图片尾部插入一句话木马,密码是123 <?php @eval($_POST[123]); ?> 放包上传 (4)将图片地址复制下来,用菜刀连接,密码设置的是123 发现连接失败 原因是照片上传后

qq_44133136的博客 2846

Unity Shader Graph 2D - Procedural程序化图形转动的环状六边形

Hexagon又称六边形,在游戏中是十分常见的基础形状,本文将使用程序化的六边形来制作多个环状六边形叠加的转动动画效果,实践Unity Shader Graph中的常用节点功能。

Giver的博客 1928

kaggle:Digit Recognizer《手写数字识别》你的第一个图像识别竞赛项目

新手,入门,巩固复习,深度学习,图像识别

qq_63591092的博客 3097

文件上传之图片码混淆绕过(upload的16,17关)

imagecreatefromxxxx函数把图片内容打散,,但是不会影响图片正常显示首先copy命令生成图片马上传之后再在服务器上下载下来,然后使用010editor进行比较,哪些内容没有被混淆,我们就可以把木马写在没有被混淆的内容里然后直接文件包含,包含图片内的php代码。

xk2844600795的博客 1154

那些年对支付宝的研究[整理]

支付宝功能强大.他内部各个功能间的跳转是通过Uri 实现的.而使用window.location.href 即可.跟浏览器一样的协议.很方便 H5启动支付宝: alipays://platformapi/startapp?appId=20000067&url=网址 alipays://platformapi/startapp?appId=20000691&url=网址 ali...

技术专研 8915

upload-labs通关(Pass16-Pass21)

2.上传write.php,burp抓包,send to intruder,和上一关一样,positions设置中,不要设置任何注入点,payloads设置中payload type选择null payloads,payload options中genete后面的空格中填写需要发送多少次报文,我这次设置的是10000。然后取数组$file的最后一个元素,与后缀白名单对比,如果不在白名单中,则禁止上传,如果在白名单中,则允许上传,并且文件保存在服务器上的名称为$file[0].$file[元素个数-1]...

m0_46467017的博客 911

快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 SQL Server 实例

开始使用 SQL Server Management Studio (SSMS) 连接到 SQL Server 实例并运行一些 Transact-SQL (T-SQL) 命令。本文介绍如何连接和查询实例SQL Server。有关 Azure SQL,请参阅连接。若要使用,请参阅连接和查询。若要详细了解如何SQL Server Management Studio,请参阅其他。......

m0_72938729的博客 5729

基于STM32设计的掌上游戏机(运行NES游戏模拟器)详细开发过程

利用STM32单片机移植NES游戏模拟器,完成NES游戏开发,可以玩标准的NES游戏,已测试超级玛丽、魂斗罗之类的都可以正常运行。

4万+

upload-labs pass14-16

本关是要求我们上传图片马,包括png,jpg,gif三种类型的图片马,提示是检查文件头前两个字节内容,我们看一下源码内容来分析一下。这里我就以vscode里的Hex Editor插件来打开三个类型的文件来查看一下文件头。先看GIF格式,因为这个最好记,文件头前6个字节数据“47 49 46 38 39 61”构成了gif文件格式头的开头文件。PNG格式文件是以开头8个字节的数据“89 50 4E 47 0D 0A 1A 0A”来标识的。而JPG是“4A 46 49 46”标识JPG格式的。

记录自己学习安全知识的笔记, 沉淀ing 1086

【Android Performance】Android CPU调度模式详解:从performance到schedutil的Governor调优指南

本文系统讲解Android/Linux系统中的CPU频率调节策略(Governor),涵盖六大调度模式的底层工作原理:performance(性能优先)、powersave(省电优先)、conservative(保守调频)、ondemand(按需调频)、userspace(手动控制)以及schedutil(调度器驱动)。文中深入拆解每种Governor的调频决策逻辑、上升/下降曲线的差异、适用场景与选型建议,并配以实操命令演示如何查看可用Governor列表、动态切换调度模式以及多Cluster架构下的统一

weixin_44081096的博客 432

一些靶场的学习记录:sqli-labs、upload-labs、XSS

本篇总结下一些靶场的学习记录:sqli-labs、upload-labs、XSS

闵行小鱼塘 2889

芒果YOLO11改进23:主干Backbone篇GhostNet:原创改进高效 GhostNet 网络,华为出品,打造全新检测器

主干Backbone篇GhostNet:原创改进高效 GhostNet 网络,华为出品,打造全新检测器

包括YOLOv5、YOLOv7、YOLOv8等模型改进 404

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

upload-labs通关小记 Pass1-10

记录了学习"文件上传漏洞"时打的upload-labs靶场Pass1-10,包含具体的实验过程和一些题目的代码审计。

Neonline254的博客 1162

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

文件上传实验(upload-labs靶场实验)

(1)先上传一句话木马(2)发现格式不对,查看源码发现是js的作用,先抓包,在包内改格式外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(3)在服务器上的upload文件夹下查看木马文件外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传发现只有png格式的文件可以上传(1)那就先抓包,改格式(2)将格式改为image/jpeg,发现没报错,查看。

sveewg的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Upload-Labs-Pass-12

目录 一、相关知识 1、POST型00截断原理: 二、环境搭配 三、文件上传 1、创建webshell 2、修改文件名 3、设置代理 4、文件上传 四、Weevely连接 一、相关知识 1、POST型00截断原理: 在POST请求中,%00不会被自动解码,需要在16禁止中进行修改00。 二、环境搭配 攻击机: kali IP: 192.168.0.112 靶机: Windows2008 IP: 192.168.0.130:9006 .

龙狼刺的博客 2203

upload-labs靶场 1-21通关

upload

2302_78449782的博客 1633

最新upload-labs文件上传漏洞靶场搭建安装,upload-labs Pass01-Pass20 二十关详解,靶场源码详解,upload-labs第一关到第二十关详解,一句话木马详细介绍

在开始打靶场之前,我们先来介绍一下一句话木马。一句话木马(One-liner Trojan 或 Webshell)是一种常见的网络安全攻击工具,通常用于Web服务器的非法控制。它称为“一句话”,因为攻击者只需在目标服务器上的一个可访问的Web页面中植入一小段代码,就可以实现对服务器的远程控制。这种木马通常以PHP、ASP、JSP等服务端脚本语言的形式出现,因为这些语言能够在服务器上执行。一句话木马的代码很简短,但功能却非常强大,能够接收远程命令并在服务器上执行这些命令。?

2302_80946742的博客 8881

upload-labs通关攻略

爆破后生成webshell.php即可使用蚁剑连接。burp拦包发送到inturder模块进行爆破。

qq_62486841的博客 739

upload-labs 学习笔记(四)Pass 12-16

继续学习upload-labs,本篇是Pass 12-16

闵行小鱼塘 640

Upload-labs 1-21关 靶场通关笔记(含代码审计)

basename— 返回路径中的文件名部分给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。Notebasename()纯粹基于输入字符串操作, 它不会受实际文件系统和类似 “..” 的路径格式影响。php?1) sudoers3) passwd4) etc5) .6)imagecreatefromgif():创建一块画布,并从 GIF 文件或 URL 地址载入一副图像。

m0_59598029的博客 1240

为什么你的 upload-labs 照着攻略就是做不出来:前提条件清单

所有命令均未实测。写作环境无 Docker 与 PHP,无法产出任何运行输出。文中每个代码块上方都保留了⚠️ 代码待验证标记,请在你自己的环境里验证后再依赖它。官方容器(PHP 5.5)能否跑出 Pass-12 / Pass-13 的结果:官方未声明,本文未实测,本文不作结论。这是"读者最想知道、但本文给不了"的一条,也是本文唯一一个无法关闭的缺口。00 截断所依赖的具体 PHP 版本阈值:未从 PHP 官方变更记录或安全公告核到一手出处。本文因此不写这个数字,只保留官方的笼统口径。

2301_80217102的博客 182

UPLOAD LABS | PASS 16 - 白名单绕过(图片马 - 图片马的制作)

下面是本关的 WAF 源码,使用的是白名单过滤的方式。开发者使用专业的函数读取用户上传的文件,并判断文件的类型。EXIF,即可交换图像文件格式,是一种包含各种元数据的数据,包括相机设置、拍摄日期和时间,如果打开了 GPS,可能还会包含拍摄的位置信息。图片马上传成功后,我们还需要一个 “文件包含漏洞” 来执行图片马中的代码(靶场提供了,如果不知道怎么找,可以去看。查看源码,本关采用的是白名单过滤,并且是通过函数。

Blue17 の 小窝 1398

upload-labs-master通关攻略(13~16)

upload-labs-master通关攻略(13~16)

2301_78554096的博客 510
上一篇: 【网络安全】upload-labs Pass-15 解题详析
下一篇: 【网络安全 | 进制编辑器】Hex Editor(HxD)安装使用详细教程
秋说
秋说 优质创作者: 编程框架、信息安全技术领域 优质创作者: 编程框架、信息安全技术领域
博客等级 码龄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、付费专栏及课程。

余额充值