首页 > 其他分享 >XYCTF2024

XYCTF2024

时间:2024-05-18 20:18:43浏览次数:24  
标签:die XYCTF XY XYCTF2024 550102591 else md5

XYCTF2024

warm up

又是md5

源码

<?php
include 'next.php';
highlight_file(__FILE__);
$XYCTF = "Warm up";
extract($_GET);

if (isset($_GET['val1']) && isset($_GET['val2']) && $_GET['val1'] != $_GET['val2'] && md5($_GET['val1']) == md5($_GET['val2'])) {
    echo "ez" . "<br>";
} else {
    die("什么情况,这么基础的md5做不来");
}

if (isset($md5) && $md5 == md5($md5)) {
    echo "ezez" . "<br>";
} else {
    die("什么情况,这么基础的md5做不来");
}

if ($XY == $XYCTF) {
    if ($XY != "XYCTF_550102591" && md5($XY) == md5("XYCTF_550102591")) {
        echo $level2;
    } else {
        die("什么情况,这么基础的md5做不来");
    }
} else {
    die("学这么久,传参不会传?");
}

什么情况,这么基础的md5做不来

image-20240427164306405

传入 ?val1=QLTHNDT&val2=s878926199a

image-20240427164332811

image-20240427164341739

传入 &md5=0e215962017

image-20240427164407491

image-20240427164443978

image-20240427164439832

extract是典型的变量覆盖关键字

image-20240427164541273

传入 &XY=Warm up

image-20240427164655513

然后发现 md5($XY) == md5("XYCTF_550102591")

无论如何都行不通

看了wp 换了个思路

查看 md5("XYCTF_550102591")是0e开头的,$XY$XYCTF传入一样的值,条件全部满足

构造payload

?val1=QLTHNDT&val2=s878926199a&md5=0e215962017&XY=PJNPDWY&XYCTF=PJNPDWY

image-20240427165103623

进入第二部分

LLeeevvveeelll222.php

<?php
highlight_file(__FILE__);
if (isset($_POST['a']) && !preg_match('/[0-9]/', $_POST['a']) && intval($_POST['a'])) {
    echo "操作你O.o";
    echo preg_replace($_GET['a'],$_GET['b'],$_GET['c']);  // 我可不会像别人一样设置10来个level
} else {
    die("有点汗流浃背");
}

有点汗流浃背

intval函数可以获取变量的整数值,用于强制类型转换

image-20240427170242171

利用数组绕过 a[]=1

image-20240427170334052

preg_replace()默认是替换所有符号匹配条件的元素

绕过 preg_replace函数

本题采用的是无限传参 参考文章

本题是 /e执行任意命令

image-20240427214158419

ezmd5

image-20240428191930767

随便上传两张照片 发现是需要两张照片的md5值相等

原文链接

image-20240428192142926

ezhttp

扫描后台

image-20240428212835396

访问robots.txt

image-20240428205339662

接着访问

image-20240428210036779

image-20240428210102622

伪造refer

抓包

标签:die,XYCTF,XY,XYCTF2024,550102591,else,md5
From: https://www.cnblogs.com/Yolololo/p/18199724

相关文章

  • XYCTF2024-web-wp
    怎么全是傻逼绕过题。不想评价,就随便打着玩,除了最后一道java反序列化搞心态,其他的ak了:简单题不想说,http注意一下代理是用Via就行,warmup直接:http://xyctf.top:37034/?val1=240610708&val2=QNKCDZO&md5=0e215962017&XYCTF=240610708&XY=240610708LLeeevvveeelll222.phpget......