[BJDCTF2020]Mark loves cat

FPointmaple發表於2022-02-09

首先開啟題目

 首先每個能點的按鈕點一下,發現都是回到最頂上。

於是我開始檢視原始碼。

把原始碼拖到最底下發現有一個不起眼的dog

 

 

 然後嘗試抓包。

 

 

 實在沒辦法了,然後從github上面把原始碼下載下來了

這是flag.php裡面的

<?php

$flag = file_get_contents('/flag');

?>

 

這是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;

聯想最開始的dog

所以這個程式碼應該是從exit($yds)出來了

於是我直接get傳參

  ?yds=flag

就可以得到答案了。

又或者我們get傳參

  ?is=flag&flag=flag

也可以得到答案,答案就在原始碼裡面。

 

相關文章