[BJDCTF2020]Mark loves cat

https://github.com/BjdsecCA/BJDCTF2020

 

打开网页,用dirsearch跑一遍,发现存在git泄露

用githack得到源码(这玩意弄了我好久,源码一开始就是弄不下来,最后改的线程数才弄下来)

最关键的是index.php和flag.php

index.php含有如下内容(前半部分无关内容已省略):

<?php

include 'flag.php';

$yds = "dog";
$is = "cat";
$handsome = 'yds';

foreach($_POST as $x => $y){
    $$x = $y;
}

foreach($_GET as $x => $y){
    $$x = $$y;
}

foreach($_GET as $x => $y){
    if($_GET['flag'] === $x && $x !== 'flag'){
        exit($handsome);
    }
}

if(!isset($_GET['flag']) && !isset($_POST['flag'])){
    exit($yds);
}

if($_POST['flag'] === 'flag'  || $_GET['flag'] === 'flag'){
    exit($is);
}



echo "the flag is: ".$flag;

flag.php内容如下:

<?php

$flag = file_get_contents('/flag');

我们想知道$flag的内容,因此我们可以构造GET方法,yds=flag

这样$yds=$flag同时符合exit($yds)的条件

查看网页源代码得到flag

flag{9c9c9643-b24f-4017-a62c-09439022c898}

posted @ 2020-11-29 01:42  hktk1643  阅读(148)  评论(5编辑  收藏  举报