首页 > 编程语言 >江苏工匠杯easyphp(array_search绕过)

江苏工匠杯easyphp(array_search绕过)

时间:2022-10-07 22:22:05浏览次数:75  
标签:search no die && easyphp array 绕过

<?php
highlight_file(__FILE__);
$key1 = 0;
$key2 = 0;

$a = $_GET['a'];
$b = $_GET['b'];

if(isset($a) && intval($a) > 6000000 && strlen($a) <= 3){
    if(isset($b) && '8b184b' === substr(md5($b),-6,6)){
        $key1 = 1;
        }else{
            die("Emmm...再想想");
        }
    }else{
    die("Emmm...");
}

$c=(array)json_decode(@$_GET['c']);
if(is_array($c) && !is_numeric(@$c["m"]) && $c["m"] > 2022){
    if(is_array(@$c["n"]) && count($c["n"]) == 2 && is_array($c["n"][0])){
        $d = array_search("DGGJ", $c["n"]);
        $d === false?die("no..."):NULL;
        foreach($c["n"] as $key=>$val){
            $val==="DGGJ"?die("no......"):NULL;
        }
        $key2 = 1;
    }else{
        die("no hack");
    }
}else{
    die("no");
}

if($key1 && $key2){
    include "Hgfks.php";
    echo "You're right"."\n";
    echo $flag;
}

?>

前两个都考烂了,这里只说第三个绕过array_search。文档array_search()

也就是说,默认的第三个flase参数导致了弱类型比较漏洞。当我们的$c["n"]=0的时候(或者null),会将前面要查找的字符串自动转化为0然后进行比较。

因此payload如下:

?a=9e9&b=53724&c={"m":"3333c","n":[[],0]}

 

标签:search,no,die,&&,easyphp,array,绕过
From: https://www.cnblogs.com/meng-han/p/16767352.html

相关文章

  • Educational Codeforces Round 100 (Rated for Div. 2) B. Find The Array(思维)
    https://codeforces.com/contest/1463/problem/B题目大意:给定n个数字的数组a,让我们凑出数组b;满足b[i]要么可以整除b[i+1],要么可以被b[i+1]整除,同时2*求和abs(a[i]-b[......
  • jira项目笔记17-自定义useArray
    2-1、要求自定义一个useArray的customhook。结合react-hook和typescript,实现对数组简单的增加、删除、清空的那个功能,并且对增加的对象类型有限制2-2、代码实现export......
  • jira项目笔记20-useSearchParams
    useSearchParams顾名思义,可以直接获取url中的query参数,而不需要引入外部库来解析路径中的query参数import{useSearchParams}from'react-router-dom';//比如url是......
  • Java中List和ArrayList的区别,为什么用接口来引用对象而不是类
    区别用几句话来简单概述就是:1、List是一个接口,而ArrayList是List接口的一个实现类。2、ArrayList类继承并实现了List接口。3、因此,List接口不能被构造,也就是我们说的不能......
  • Collections之ArrayList源码解读(七)
    ......
  • Java Arrays:专为数组而生的工具类
    titleshortTitlecategorytagdescriptionheadJavaArrays:专为数组而生的工具类Arrays工具类Java核心常用工具类Java程序员进阶之路,小白的零......
  • BOM – File Reader, File, Blob, ArrayBuffer
    前言之前写过2篇关于读写文件和二进制相关的文章 Bit,Byte,ASCII,Unicode,UTF,Base64和 ASP.NETCore–Byte,Stream,Directory,File基础,  不过是AS......
  • Elasticsearch 进阶检索 (一)
    1、官方文档https://www.elastic.co/guide/en/elasticsearch/reference/7.4/index.htmlSearchAPIES支持两种基本方式检索:一个是通过使用RESTrequestURL发送搜索......
  • Subsets of Array
    寻找一组数组中不重复元素的子集packagecom.example.mathematicaldemo.demo;importlombok.extern.slf4j.Slf4j;/***资料:*https://easylearn.baidu.com/edu-......
  • Elasticsearch 初步检索
    1丶_catGET/_cat/nodes:查看所有节点GET/_cat/health:查看es健康状况GET/_cat/master:查看主节点GET/_cat/indices:查看所有索引相当于showdatabase查......