攻防世界WEB(新手模式)18-easyphp

ops/2025/3/4 11:23:54/

打开题目,直接开始代码审计

  • 条件1$a 必须存在,且 intval($a) 必须大于 6000000,同时 strlen($a) 必须小于等于 3。

    • 这意味着 $a 必须是一个字符串,且它的整数值大于 6000000,但字符串长度不能超过 3。这看起来是不可能的,因为一个长度不超过3的字符串,其整数值不可能大于6000000。

    • 这里可能存在一个漏洞:intval() 函数在处理字符串时,会从字符串的开头解析数字,直到遇到非数字字符为止。因此,我们可以利用科学计数法来绕过这个限制。例如,$a = "1e9",它的整数值是1,但 intval("1e9") 会返回1,而 strlen("1e9") 是3。

  • 条件2$b 必须存在,且 md5($b) 的最后6个字符必须是 8b184b

    • 我们需要找到一个字符串 $b,使得 md5($b) 的最后6个字符是 8b184b。这可以通过暴力破解或使用彩虹表来实现。

 

  • 条件1$c 必须是一个数组,且 $c["m"] 必须存在,不能是数字,且必须大于2022。

    • 这里的关键是 !is_numeric(@$c["m"]) 和 $c["m"] > 2022。我们需要一个非数字的值,但它仍然可以比较大小。PHP中的字符串比较是按字典序进行的,因此我们可以使用一个字符串,比如 "2023a",它大于 2022,但不是数字。

  • 条件2$c["n"] 必须是一个数组,且长度为2,且第一个元素也是一个数组。

    • 我们需要构造一个数组 $c["n"],其中包含两个元素,第一个元素是一个数组。

  • 条件3array_search("DGGJ", $c["n"]) 必须返回一个非 false 的值,但在遍历 $c["n"] 时,不能有任何元素等于 "DGGJ"

    • 这里的关键是 array_search 返回的是键名,而不是值。因此,我们可以构造一个数组,其中 "DGGJ" 是键名而不是值。例如:

 

  1. 设置 $a 为 "1e9",使得 intval($a) 大于6000000且 strlen($a) 小于等于3。

  2. 找到一个字符串 $b,使得 md5($b) 的最后6个字符是 8b184b

  3. 设置 $c 为一个JSON字符串,解码后满足以下条件:

    • $c["m"] 是一个非数字的字符串,且大于2022。

    • $c["n"] 是一个包含两个元素的数组,第一个元素是一个数组,且 "DGGJ" 是第一个元素的键名。

最终的GET请求可能类似于:

?a=1e9&b=53724&c={"m":"2023C","n":[[],0]}

得到flag


http://www.ppmy.cn/ops/163029.html

相关文章

JS宏进阶:数据分类之逻辑回归

一、逻辑回归介绍 逻辑回归(Logistic Regression)是一种用于解决分类问题的统计学习方法,特别是适用于二分类问题。 1、原理 线性模型与逻辑函数:逻辑回归基于线性回归的概念,但通过使用逻辑函数(也称为 sigmoid 函数)将线性模型的输出映射到 [0, 1] 的概率范围内。这…

机器学习:特征提取

介绍 (一)原理 特征提取的核心概念是将高维、复杂的原始数据转换为低维且具有代表性的特征集合。原始数据往往包含大量冗余或无关信息,直接使用这些数据进行模型训练不仅会增加计算成本,还可能导致模型性能下降。通过特征提取&a…

一文了解:部署 Deepseek 各版本的硬件要求

很多朋友在咨询关于 DeepSeek 模型部署所需硬件资源的需求,最近自己实践了一部分,部分信息是通过各渠道收集整理,so 仅供参考。 言归正转,大家都知道,DeepSeek 模型的性能在很大程度上取决于它运行的硬件。我们先看一下…

通往 AI 之路:Python 机器学习入门-语法基础

第一章 Python 语法基础 Python 是一种简单易学的编程语言,广泛用于数据分析、机器学习和人工智能领域。在学习机器学习之前,我们需要先掌握 Python 的基本语法。本章将介绍 Python 的变量与数据类型、条件语句、循环、函数以及文件操作,帮助…

开源模型应用落地-DeepSeek-R1-Distill-Qwen-7B-Docker助力-模型部署 “光速” 指南

一、前言 在人工智能的浪潮里,大语言模型不断迭代更新,DeepSeek-R1-Distill-Qwen-7B 模型凭借出色的表现,吸引着无数开发者的目光。然而,想要将这个强大的模型顺利部署并投入使用,过程却并不轻松。传统的部署方式仿佛布满荆棘,从底层环境搭建到各种依赖项的适配,每一步都…

Halcon图像预处理算子 sobel算子、傅里叶变换算子、卷积算子

滤波类型算子适用噪声特点均值滤波mean_image高斯噪声平滑均匀,可能额模糊边缘中值滤波median_image椒盐噪声保留边缘,抑制脉冲噪声高斯滤波gauss_filter高斯噪声加权平均,边缘更平滑 均值滤波 mean_image(Image,ImageMean,MaskWidth,MaskHe…

【C++】使用 CMake 在 Windows 上自动化发布 C++/Qt 应用程序

对于使用 MinGW 编译 C/Qt 项目的开发者来说,发布程序时常常面临目标机器缺少必要运行时库(DLL)的情况。传统方法需要手动收集依赖文件,不仅繁琐,还容易遗漏。本文将展示如何利用 CMake 构建系统,结合 Qt 官…

Windows 配置 Tomcat环境

Windows配置Tomcat 1. 介绍 Tomcat是一个开源的、轻量级的Java应用服务器,在Java Web开发领域应用广泛。以下是关于它的详细介绍: 一、基本概念与背景 定义:Tomcat是Apache软件基金会(Apache Software Foundation)下…